2011-05-12 71 views
2

我在我的数据库中有一些列,主要是varchar 255s。它们只能访问一次,但每次加载/请求登录的用户都会加载一次。 (大多数情况下它们都包含用户喜好等内容)。我应该在这些列上创建一个索引吗?

我的问题是,我应该在这些列上创建索引吗?我已经在其他列上使用了多个查询的索引,而不是只读一次并像这些列一样存储。

回答

6

您只需要在用于排序或搜索的列上使用索引。

即。它们出现在JOIN,WHERE,HAVING,GROUPORDER BY条款中。

即使那样,它也不是绝对必要的。

3

答案是这取决于.....看看你的查询计划,它将有利于添加索引?

您的查询可能已经被目前存在的索引覆盖。
请记住,添加索引会减慢更新/插入速度。

3

我认为答案取决于列是否仅用于选择,或者如果它们用于where子句或连接以及其他排序/查询操作。

如果是前者,没有索引,如果是后者,则查询会更快与索引(以及通常)

2

如果我没看错的,索引列也将取决于有多少用户在那里以及每个用户的偏好大小。例如,如果您有1000000个用户偏好存储,它肯定会帮助索引它。

相关问题