索引具有少量行的表中的字符串字段是否有意义

时间:2011-11-22 13:08:50

标签: mysql sql

create table foo (id, name varchar(255), value varchar(255));

name表中仅对foo行中的25字段进行索引是否有意义,其中大多数查询都像select * from foo where name = 'name1';,并且这些内容都不会发生变化得多。

3 个答案:

答案 0 :(得分:6)

如果它只包含25行,那么它可能是开销而不是性能增益。和查询优化器可能会选择不使用此索引。

答案 1 :(得分:6)

在这种情况下不要添加索引,mysql可能会以任何方式进行完全扫描,即使它使用索引,也可能只是不必要的开销。

答案 2 :(得分:1)

name是唯一的吗?

如果是,则需要一个唯一索引来维护数据完整性。

如果没有,当你扩展查询以执行JOIN等时,缺少索引可能会受到伤害。对于25个静态行,它如何增加开销?

我不同意其他答案......