【发布时间】:2013-07-28 03:01:39
【问题描述】:
我有一个很大的表,里面有将近 3 亿条记录。由于select查询对我来说太慢了,我想把它分成大约800个小表。
数据集如下所示:
XXXXXX column2 column3 column4 ...
XXXXXX column2 column3 column4 ...
XXXXXX column2 column3 column4 ...
YYYYYY column2 column3 column4 ...
YYYYYY column2 column3 column4 ...
我想根据第一列的值拆分表(例如,XXXXXX 的记录拆分为表XXXXXX),最快的方法是什么?
注意:我已经给它加了10个分区,但是速度不是很好。
【问题讨论】:
-
听起来很适合分区。
-
看起来您正试图在此处进行分片。该线程对此主题进行了一些很好的讨论:stackoverflow.com/questions/5541421/mysql-sharding-approaches
-
@Jack,我已经为它添加了分区,但它并不能很好地加速它。
-
分区是要走的路。分裂是一场噩梦。你试过
ANALYZE TABLE MY_TABLE吗?也许优化器需要更好的分区信息。 -
您找到解决此问题的方法了吗?我现在面临同样的问题。谢谢!
标签: mysql