Dón*_*nal 11 database indexing
我已经读过为索引选择的列应该在行之间很好地区分,即索引列不应该包含具有相同值的大量行.这表明布尔人或性别等枚举对指数来说是一个糟糕的选择.
但是说我希望按性别查找用户,在我的特定数据库中,只有2%的用户是女性,那么在这种情况下,性别列似乎是获取女性用户时的有用索引,但不是在获取所有用户时男性用户.
那么在这样的列上放一个索引通常是一个好主意吗?
在这种情况下,我会让服务器统计信息通知我何时创建索引。除非您知道此查询将占主导地位,或者运行此类查询不会先验地满足您的性能目标,否则过早创建索引可能只会降低性能而不是提高性能。另外,您可能需要考虑如何实际使用该查询。在这种情况下,我的猜测是您通常会根据此列进行某种聚合,而不是简单地选择符合条件的用户。在这种情况下,无论如何你都会进行表扫描,索引不会给你带来任何好处。
| 归档时间: |
|
| 查看次数: |
2514 次 |
| 最近记录: |