我在MySQL数据库中存储从Web源抓取的邮件。表非常简单只是一个INT id,JSON消息和日期时间。我有id的主索引和日期时间的索引。现在我意识到由于某种原因,mysql操作非常慢。该数据库包含超过200M行。
我正在使用的索引有问题吗?
另外我在考虑每天对数据进行分区以提高性能是否正确?使用像CoutchDB这样的NoSQL数据库有什么好处,因为我只使用JSON文档?
此表非常大(200GB)有没有办法使用压缩创建更紧凑的索引?
插入:每天超过1000万 选择:取决于系统。可能选择使用日期时间。选择将返回大约60M行。 更新:- DELETES: -
答案 0 :(得分:3)
也许不是关于这张桌子。 如果你想知道女巫进程使mysql变慢,请使用以下命令:
show processlist;
并查看时间列,较大的一个使你的mysql缓慢
答案 1 :(得分:0)
您已经有两个可行的选择:
但这很大程度上取决于你对json数据做了什么,如果你只需要提取一些在json中有一些特定属性的条目,那么我推荐使用nosql,否则如果你只根据日期或id检索数据使用mysql分片。