我正在索引我的一个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。
对不断变化的字段进行索引是否合理,或者不断写入是否会降低性能?这是一种我不能真正做多少并且不得不忍受文件出口问题的情况吗?
答案 0 :(得分:2)
您在问索引的好处是否超过了成本。我会说一个文件夹是如此昂贵,值得在这里使用索引。
但唯一真正的答案可以通过衡量来找到。设置标准(如网页加载速度)并使用和不使用索引进行测量。