zoukankan      html  css  js  c++  java
  • 【原创】关于索引的总结

    1、主键必须是唯一性的,不一定就是聚集索引,我们在创建主键时默认是设主键为聚集索引。可通过手动删除后重新建聚集索引。

    2、sql语句是where先执行,然后再执行order by,所以我们在建非聚集索引时要注意顺序并且where与order by里面的列都要在索引键列里面。select部份可以放在包含性列里面,但请注意索引大小的空间问题。

    3、order by里面的升序和降序问题一定要和索引键列里面的一样。

    例:select id,title from table1 where classid=123 order by created DESC

    情况一

    操作:建非聚集索引IX_A->索引键列为classid(升序降序无所谓)、created(一定要降序) 

    注意索引键列中两个字段的先后顺序,两个键列缺一不可。

    执行:1.IX_A索引查找出ID,2.根据ID通过 键查找 找出title->返回结果

    情况二

    操作:建非聚集索引IX_B->索引键列为classid(升序降序无所谓)、created(一定要降序) ->添加包含性列id,title

    注意索引键列中两个字段的先后顺序,两个键列缺一不可。

    执行:1.IX_B索引查找->返回结果

    以上两个方法如果created的排序弄错了,还将多一步,即:

    情况一:1.IX_A索引查找出ID,2.根据ID通过 键查找 找出title,3.排序->返回结果

    情况二:1.IX_B索引查找,2.排序->返回结果

  • 相关阅读:
    10003 Cutting Sticks(区间dp)
    Cocos2d-x init() 和 onEnter() 区别
    HDU1181【有向图的传递闭包】
    空间参考系统与WKT解析
    面试经典-分金条
    uvalive 3971
    lua学习:使用Lua处理游戏数据
    面试经典--两个房间 每间房间三盏灯
    浙江大学PAT上机题解析之2-11. 两个有序链表序列的合并
    顺序队列之C++实现
  • 原文地址:https://www.cnblogs.com/SALIN/p/2143600.html
Copyright © 2011-2022 走看看