是否有可能对不断变化的字段进行索引,还是不断写入会降低性能?

时间:2011-03-02 09:23:19

标签: mysql sql indexing filesort

我正在索引我的一个MySQL表格,并且我需要专家提供有关如何继续进行操作的建议。

该表的结构类似于以下内容:

ProductID - INT - UNSIGNED - NOT NULL - AUTO INCREMENT - PRIMARY KEY
ProductName - VARCHAR(64) - NOT NULL
ProductViews - INT - UNSIGNED - NOT NULL

WHERE子句中使用的唯一字段是ProductID。 ORDER BY中唯一使用的字段是ProductViews。

该表相当大,因此典型的查询(当连接到另一个表时)可能需要一些时间。 在典型查询上运行EXPLAIN显示,由于ProductViews字段,MySQL正在显示“Extra:Using where; Using filesort”

我想索引ProductViews以摆脱filesort,但是每次访问页面时,字段中的值都会增加1。

对不断变化的字段进行索引是否合理,或者不断写入是否会降低性能?这是一种我不能真正做多少并且不得不忍受文件出口问题的情况吗?

1 个答案:

答案 0 :(得分:2)

您在问索引的好处是否超过了成本。我会说一个文件夹是如此昂贵,值得在这里使用索引。

但唯一真正的答案可以通过衡量来找到。设置标准(如网页加载速度)并使用和不使用索引进行测量。