我应该在经常更新的表上使用索引吗?

时间:2010-09-23 13:32:11

标签: mysql

我的评论表中有150 000条记录,每天添加大约1000条新评论......我想知道是否应该在这样的表格上使用索引?它会对绩效产生正面或负面影响吗?我用mysql ...

4 个答案:

答案 0 :(得分:4)

比较此表中INSERT和SELECT的数量。你每天做1000次INSERT,甚至不是每分钟一次。但是在网页上显示结果时,你可能会做更多的SELECT。如果访问者每次点击链接查看更多评论时都要等几秒钟,那么你就算数学......

编辑:使用索引。

答案 1 :(得分:2)

肯定会产生负面影响,也可能产生积极影响:

否定:每当插入/删除行或更新索引列时,都必须更新每个索引。

正面:数据检索可能会从索引(如果正确定义)中获得巨大好处

但是,每天1000次插入并不是很多,你很有可能正确定义索引的好处将超过开销。

答案 2 :(得分:2)

如果没有看到你正在做什么样的SELECT查询以及模式是什么,就无法判断indx是否会被使用,更不用说帮助了。例如,如果您的数据基数较低,或者您正在进行

等查询
where MyColumn like '%somestring%'

那么索引也无济于事。需要更多信息。

答案 3 :(得分:1)

您不应索引经常更新的列,例如view_counter等。