【发布时间】:2017-08-15 15:09:49
【问题描述】:
我有如下表格
银行 |最小值 |最大值
我必须运行查询以查找最小值小于 5 且最大值大于 5 的所有银行。
在这种情况下我应该如何执行索引? 提前感谢您的任何建议。
我的问题并不是关于何时应该使用索引(考虑这种情况下的检索次数多于插入次数)。鉴于此,索引的最佳方法是什么。我正在考虑在一列上使用聚集索引,在另一列上使用非聚集索引。
【问题讨论】:
-
这取决于数据大小,如果数据库中有数百万条记录,而您需要 dbms 在短时间内返回结果,那么您最好为 MinValue & 创建索引最大值。作为副作用,更多的索引也意味着更少的修改操作(插入/更新/删除)。
-
我应该使用聚集索引还是单列索引
-
这取决于您的数据、执行此查询的频率等等。如果是偶尔查询,返回的行数未知或很大,没有其他字段,不需要索引,表扫描就差不多了。
-
每个表只有一个聚集索引(记录按此索引物理排序),因此最好将其留给与范围相关的查询最频繁发生的字段。