MySQL开销,是我的查询错误还是我应该优化表?

时间:2011-12-08 16:17:46

标签: mysql sql database query-optimization

我有一个如下表格设置。

Table comment_flags
    user_id
    comment_id

我允许用户标记评论然后给他们取消标记的选项,因为他们可能犯了错误。

问题在于,当我们取消标记注释后,删除记录后,comment_flags表的开销大约为30-40字节,即使只有5条评论也是如此。

Heres基本上是怎么回事: -

用户标记注释,因此我将user_idcomment_id插入comment_flags表,然后用户取消标记注释,并从comment_flags表中删除user_idcomment_id

我不确定这是导致问题的SQL,我认为这只是DELETE语句。

我可以在每个DELETE语句后优化表来清理表。

这被视为一个好主意吗?其他人如何处理这个问题?

我的sql非常基本。

INSERT INTO comment_flags VALUE('$user_id', '$comment_id')
DELETE FROM comment_flags WHERE user_id = '$user_id' AND comment_id = '$comment_id'

1 个答案:

答案 0 :(得分:1)

  

我可以在每个DELETE语句之后优化表来清理表。这被视为一个好主意吗?

30-40个字节?否。

  

其他人如何处理这个问题?

不要打扰。任何后续INSERT的空格should be re-used,这是好的事物。