请问谁能够告诉我建立索引表比没有建立索引的表查询速度快在那里?
比如说查找 姓名=“张三” 所有记录,查询语句不是从第一条记录一直向下搜索到最后一条记录吗,难道建立索引之后它就会搜少几条记录吗?要不它快的原因在那里?

解决方案 »

  1.   


    索引就好比书前面的目录,我给你说说我的理解吧,索引其实也是表结构的,比如说你在name 字段上见了索引,现在你要找name为Jack的记录,则索引直接找开头字母为J的记录(索引表是排序的),然后找第二个字母为a,一次类推;如果J遍历完未找到,则退出。
      

  2.   

    顺便告诉你,sql92用的不是咱们经常能看到的遍历方式,而是电梯试搜索方法,不存在搂主说的那种情况
      

  3.   

    索引的建立是很讲究的,建立了索引不一定就能加快查询的速度,
    1. 小表建立索引时没有必要,浪费空间,索引时要占空间的
    2. 当你查询返回的纪录占表的25%以上,索引也没有什么好处乐
    3. 下sql时,尽量用索引了得栏位去查,否则还是避免不了全表扫描
    4. 在要join 的栏位,一定要建index