MYSQL作数据仓库的性能瓶颈

缺乏hash join 和parallel 这种工具,MYSQL 注定不是个合适的数据仓库工具。数据库

不管是是myisam仍是innodb,在处理一个复杂的SQL查询的时候,并不能发挥多核CPU的性能。分布式

只会有一个CPU正在满负荷地运转。工具

因此对于一个分析性数据库而言,MYSQL多核其实是极大的浪费。oop


MYSQL作查询优化的时候,一个是注意在group by后面使用order by null,禁用默认的group by排序。性能

二是使用索引,5.6有condition push down的功能。能够大大提升索引查询的效率。优化

事务型应用尽可能使用主键查询,或者查询的数据是有索引。排序

选择索引的字段,必定要符合差别率高的字段,甚至比联合索引带来的总体效果更好。索引


可是方案选型了之后,只能作更多的优化。事务

好比说:手动拆分SQL,再合并结果集。hadoop

my.cnf配置优化,增长临时表空间和key_buffer_size等等。


即便是KETTLE, DATASTAGE, 在处理海量数据的时候,也不能作到像hadoop那样分布式计算。

哎,若是让我选型的话,仍是上PG库算了。

相关文章
相关标签/搜索