数据库

 首页 > 数据库 > mariadb > 在MariaDB数据库中使用federated引擎

在MariaDB数据库中使用federated引擎

分享到:
【字体:
导读:
         摘要:federated引擎是mysql的一个特殊的引擎,类似于oracle的dblink的功能,能够访问远程数据库上的表,而不用本地存储数据默认是未启用的,MariaDB[(none)]showengines;+——————?+———+————————————————————+————?+——+——...

在MariaDB数据库中使用federated引擎
federated引擎是mysql的一个特殊的引擎,类似于oracle的dblink的功能,能够访问远程数据库上的表,而不用本地存储数据
默认是未启用的,

MariaDB [(none)]> show engines;
+——————?+———+————————————————————+————?+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————?+———+————————————————————+————?+——+————+
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary
tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO |
NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and
foreign keys | YES | YES | YES |
| Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO |
NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO
|
+——————?+———+————————————————————+————?+——+————+

google了下,该引擎是以插件形式使用的,所以要手动安装:
install plugin federated soname ‘ha_federatedx.dll’;

再查看引擎:
MariaDB [(none)]> show engines;
+——————?+———+————————————————————+————?+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————?+———+————————————————————+————?+——+————+
| CSV | YES | CSV storage engine | NO | NO | NO |
| FEDERATED | YES | FederatedX pluggable storage engine | YES | NO
| YES |
| MEMORY | YES | Hash based, stored in memory, useful for temporary
tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO |
NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and
foreign keys | YES | YES | YES |
| Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO |
NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO
|
+——————?+———+————————————————————+————?+——+————+

建表语句:
CREATE TABLE `FEDERATED` (
`id` int(10),
`name` varchar(20)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8
connection=’mysql://darkz:123456@192.168.12.5:3306/tab_item/201210′;
该表建表语句要和远程的表结构一致,最后的connection的格式为:

connection=’mysql://username:password@host:port/dbname/tbname’; 简单测试了下,该表虽然可以访问远程数据库,但是表较大的时候,流量也较大,貌似是将远程数据库的内容取回到本地然后再进行操作的,而且没有缓存数据
局域网内测试刚才建的表,运行

select count(*) from `FEDERATED`;
结果带宽跑满,还持续了几十秒,这就说明,不是直接取的结果,二十将原始表的数据取回到本地,然后进行sql处理的,这样有个缺点就是比较占带宽,而且慢.
如果能进行优化,只返回查询结果,那么就会更好了.

在MariaDB数据库中使用federated引擎
分享到:
在MariaDB数据库中使用thread pool
在MariaDB数据库中使用thread pool使用Thread pool的好处 使用线程代理的模型在连接数已知可控的情况下,提前创建好过线程并利用操作系统的threadpool技术维护,能减少很多开销。 尽可能的使用操作系统的线程方面的管理,把线程管理开销降到最低。 利用thread_pool_max_threads控制资源使用什么情况下Thread Pool作用比较...
关于MariaDB数据库中cassandra存储引擎的...
关于MariaDB数据库中cassandra存储引擎的介绍 MariaDB已经宣布了Cassandra存储引擎的一个预览版本。该插件允许MariaDB通过标准SQL语法使用Cassandra集群。 MariaDB并不是第一款为Cassandra提供SQL支持的产品。例如,Simba提供了一个 Cassandra ODBC驱动,可用于大多数的ODBC兼容工具。理论上甚至可以创建一个Ca...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……