大型Mysql表索引

时间:2014-03-05 08:58:34

标签: mysql database indexing

我在MySQL数据库中存储从Web源抓取的邮件。表非常简单只是一个INT id,JSON消息和日期时间。我有id的主索引和日期时间的索引。现在我意识到由于某种原因,mysql操作非常慢。该数据库包含超过200M行。

我正在使用的索引有问题吗?

另外我在考虑每天对数据进行分区以提高性能是否正确?使用像CoutchDB这样的NoSQL数据库有什么好处,因为我只使用JSON文档?

此表非常大(200GB)有没有办法使用压缩创建更紧凑的索引?

插入:每天超过1000万 选择:取决于系统。可能选择使用日期时间。选择将返回大约60M行。 更新:- DELETES: -

2 个答案:

答案 0 :(得分:3)

也许不是关于这张桌子。 如果你想知道女巫进程使mysql变慢,请使用以下命令:

show processlist;

并查看时间列,较大的一个使你的mysql缓慢

答案 1 :(得分:0)

您已经有两个可行的选择:

  • 按天分页(或按行数nb)
  • 使用nosql db

但这很大程度上取决于你对json数据做了什么,如果你只需要提取一些在json中有一些特定属性的条目,那么我推荐使用nosql,否则如果你只根据日期或id检索数据使用mysql分片。