相当于Mysql中oracle的Parallel选项

时间:2013-09-18 10:08:25

标签: mysql sql database-migration

在oracle中,我们可以创建一个表并插入数据并使用parallel选项进行选择。

mysql中是否有类似的选项。我正在从oracle迁移到mysql,我的系统有更多的选择和更少的数据更改,因此任何选择并行选择都是我想要的。

例如:让我们考虑我的表有100万行,如果我使用parallel(5)选项,那么五个线程运行相同的查询限制并且每个获取大约200K,最终结果我在1/5获得100万条记录通常的时间。

2 个答案:

答案 0 :(得分:5)

简而言之,答案是否定的。

MySQL服务器旨在并行执行并发用户会话,但不能并行执行多个部分的给定用户会话。

这是个人观点,但我不想提前应用优化,对RDBMS的工作方式做出假设。最好先测量查询,看看响应时间是否真正关注,然后才调查可能的优化。

“过早优化是所有邪恶的根源。” (唐纳德克努特)

答案 1 :(得分:2)

MySQL中的查询始终并行运行。但是,如果要通过程序同时运行不同的查询,则需要通过程序具有异步访问权限的工作人员打开不同的连接。

您也可以通过创建事件或使用延迟插入来运行任务,但我认为这并不适用于此。还有其他需要考虑的事情:

  

通常,某些操作在个别查询之间受到保护   会话(称为交易)。这些都是InnoDB支持的   后端,但不是MyISAM表(但它支持一个名为的概念   原子操作)。存在各种不同的隔离级别   在哪些操作中彼此保护(以及如何操作)   一个并行事务中的操作影响另一个并且在它们中   绩效影响。 - Holger Just

他还提到了MySQL转换页面,它简单地介绍了MySQL可用的不同引擎类型(MyISAM更快,但不那么可靠): MySQL Transcations

相关问题