今天面试的时候问的,个人没什么把握,问问大家的意见。
索引分为两种,聚众索引还有就是索引?具体的区别在那里阿?设计的时候应该怎么样考虑啊?
这个问题第1个回答:
性别列上不需要建立索引。
这个问题第2个回答:
就算建了也不会用到。
这个问题第3个回答:
一般是不考虑建立索引,因为不管你建立成什么数据类型,一般情况下,男女比率是接近,这样你在查询时,由于筛选度不够,SQLSERVER优化器
不会考虑使用索引,而是考虑扫描表。这样的情况下,建立索引反而会增加空间大小以及插入,更新数据时带来的维护索引的消耗。
索引分类,如果针对SQLSERVER,具体是要看你在哪个环境下,如果在2000的版本,的确是包括聚集索引和非聚集索引
但是到了2005,是多了1个XML索引,其还细分到XML主索引和XML辅助索引。至于区别,你自己查阅相关资料了解就可以了,这个资料很多的。
包括设计的原则,这些在联机帮助有很大两的篇章,在网络上也有很多资源。
这个问题第4个回答:
然。
这个问题第5个回答:
...
这个问题第6个回答:
风过的~~~~~~~~~~
这个问题第7个回答:
...
这个问题第8个回答:
SQL code
索引创建一个表记录的逻辑指针...
这个问题第9个回答:
聚集索引就是将表上的数据按索引关键字的物理顺序重新排列,因为影响的是数据的物理存储顺序,所以每个表只能创建一个聚集索引
而非聚集索引可以在堆上或者聚集索引之上创建,就像是在原表之外再对数据做一遍登记,然后按索引关键字顺序存好,往往非聚集索引的最末端(叶级页)上记录着数据的物理行号或者聚集索引的键值.非聚集索引每表可以创建249个,因为在sysindexes表中,用于表示索引的ID号indexid列是tinyint类型,最大值只能到255,而251~254无用,255表示表中有image、text或者ntext等数据,0表示无索引,1表示聚集索引,所以只剩余了249个ID号用于表示非聚集索引
什么时候用什么索引,好像没有很绝对的说法,你多多了解一下两种索引的原理,这样当你再清楚了查询的详细情况之后,就很容易确认该用什么索引了。
这个问题第10个回答:
简单的说吧,不需要,因为性别,就两个值男与女(人妖不算,呵)。为这两个值建立索引是不值得的,因为无论多少条记录,建立性别的索引,最多让你的语句少检索一半。但与建立索引带来的损失比,捡芝麻丢西瓜。(可能不准确,但大意如些)。
聚集索引就是将表上的数据按索引关键字的物理顺序重新排列,因为影响的是数据的物理存储顺序,所以每个表只能创建一个聚集索引。
而非聚集索引可以在堆上或者聚集索引之上创建,就像是在原表之外再对数据做一遍登记,然后按索引关键字顺序存好。
区别形象的说就是:
聚集索引,在表自身重新排序。
非聚集索引,是在所建的表外,来建立排序。
这个问题第11个回答:
打个比方,数据库就好比一本新华字典,我们查数据时,可以根据拼音来查,字在字典的排序是根据拼音来排序的,我们要查一个字,可以根据拼音很快就能查到我们要查的字,这就叫作聚集索引!换句话说,聚集索引就是按照物理排序的,也因为是按物理排序的,所以一张表只能有一个聚集索引,也是最快的索引。当然,我们也可以根据部首来查,但是这种查询必须先查找到部首,然后再到检索表查到那么字,最后才能查到我们需要的字,你没办法像拼音查法一样翻翻字典就可以查到,这就叫作普通索引。普通索引可以有多个。
假如一本字典里全是"男"和"女"两个字,那么在检索表里也有很多个"男"和"女",这对查询帮助不大
这个问题第12个回答:
呵
这个问题第13个回答:
性别建了索引好像也不能提高查找速度吧? 建议楼主抓住本源目的。