首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

和索引有关的几个小问题

2012-02-02 
和索引有关的几个问题?假如有这样一个表,这样几个字段。id姓名性别籍贯身份证主键递增列n种可能值男/女省份

和索引有关的几个问题?
假如有这样一个表,这样几个字段。
id                           姓名                   性别               籍贯                         身份证
主键递增列         n种可能值         男/女           省份(34种可能)     绝对不相同的数字


搜索时选择搜索的可能性大小:身份证> 姓名> 籍贯> 性别,也可以同时选择多个条件搜索。
在数据量很多的情况,建立聚集索引和非聚集索引。
1.这里面哪个字段建立聚集索引最好?
2.是不是其他的全部字段都建立非聚集索引都可以,随意建立好象效率更低吧?
3.建立搜索的时候象填充索引、唯一值、填充因子这些要考虑吗?
4.建立了索引后SQL搜索语句有变化吗,还是和没有建立索引的是一样的?

小弟很菜,请各位指教


[解决办法]
1.这里面哪个字段建立聚集索引最好?
当然是 身份证 ,最好是聚集唯一索引

2.是不是其他的全部字段都建立非聚集索引都可以,随意建立好象效率更低吧?
这个可能需要研究查询最多的组合方式,建议在不知道的情况下建立以下索引:
(姓名,籍贯)
(籍贯,性别)
(姓名,性别)

3.建立搜索的时候象填充索引、唯一值、填充因子这些要考虑吗?
填充因子主要考虑你的应用类型,就是是否需要插入记录、插入记录和查询的比例,一般来说,如果经常需要插入记录,填充因子应该设置在75-85%
填充索引、唯一值不知道指的是什么

4.建立了索引后SQL搜索语句有变化吗,还是和没有建立索引的是一样的?
大部分应该不用改变,除非你原来的语句没有注意优化
重点修改对性能影响很大的常用语句。

热点排行