当前位置: 代码迷 >> Sql Server >> 出一路小小的sql题目
  详细解决方案

出一路小小的sql题目

热度:88   发布时间:2016-04-24 10:07:57.0
出一道小小的sql题目
一位同事问我,有一张表,只有一个字段,int 型,很大很大,问如何做才能在查询例如1-3,1-300之类的count个数,达到速度最快,谢谢。
我说做索引,然后select count(*) from table where 字段>N and 字段<M ,他说他也是这样想的,只是不清楚这是不是最好的方法。现在弄上来问问大家。
------解决方案--------------------
做索引是必须的,问题是做什么样的索引最合适。
------解决方案--------------------
只有一列的话,建一个聚集索引。注意: where 字段>N and 字段<M 这里的N/M一定要是int类型,否则索引可能无效
------解决方案--------------------
建议:
 1.看表数据实际的使用范围,选择合适的数据类型
    int型的范围是-2147483648->2147483647,即21亿多.是否真有必要?
    可考虑使用smallint(-32768->32767).

 2.索引建为聚集索引.
 
  相关解决方案