2010-09-02 107 views
0

我在一台机器上有两个mysql数据库。 db1和db2。如果db1密集使用,查询db2是否等待db1查询完成?换句话说,mysql是否使用并行计算来查询不同数据库中的查询?MySQL速度问题

例如big query1来到db2。它计算5秒。并且在1秒后db1的query2值变小,计算1秒。 5秒后将返回query2结果。 (等待查询1)或1秒后返回。立即?

回答

0

数据库不会相互冲突。您可以将它们更多地视为表格的逻辑分组。除非他们使用相同的表格,否则同一个数据库中的查询也不会相互冲突。即使这样,多个SELECT可以同时在同一个表上发生。

当表被修改时(UPDATE,DELETE,INSERT),你真的只会得到“冲突”。即使InnoDB表可以同时运行修改和选择查询。 MyISAM表几乎总是“冲突”,因为它使用表锁定进行修改。

0

根据您的描述,这两个查询将并行运行。

0

2项建议(如果你需要很多的请求)

1将使用cron ... 2 - 考虑升级到MariaDB的(如果它是你的可能性)

例如

* * * * * /usr/local/bin/php /home/__user_/public_html/..phpFile.php 
* * * * * /usr/local/bin/php /home/__user_/public_html/..phpFile2.php 

在phpFile1中,您将您对db1的请求。

在phpFile2你把你的要求为DB2 等等

小的细微差别是,cron1将启动并cron2不“等待” cron1完成,这样cron1和cron2可以同时工作。

**也;我自己从Mysql 5.6升级到MariaDB 10,并且速度很快;) ••最后一个注意事项,MariaDB有ARIA引擎(它是MyISAM,但具有更强大的性能和非常快的速度......)