zoukankan      html  css  js  c++  java
  • 建索引(尤其是主键)时请注意索引列的顺序

    在我们创建主键或者其他索引时,sql server总是自动将字段的顺序设置为升序排列;升序是默认设置,是为了保持与 SQL Server 早期版本的兼容性。建索引时索引列的顺序应该按照常用查询中的排序方式排序。

    我们做个试验创建一个表,其中主键上的聚集索引按照id倒叙排列,然后分别倒叙顺序select数据,比较select的时间:
    测试代码
    以下是查询时间结果
    查询时间(毫秒)
    393
    查询时间(毫秒)
    606
    按照和索引相同顺序从100万条数据中取50条时需要393毫秒,相反顺序时需要606毫秒。造成的性能影响还是挺大的。

    结论:
    在建索引时要考虑常用查询的排序方式,在建主键时要特别注意,因为sql server会自动按照升序来建,这时候如果您的查询多数用主键列倒叙排列,记得要修改一下默认的设置。

    参考资料:
    http://technet.microsoft.com/zh-cn/library/ms181154.aspx
    http://forums.microsoft.com/china/ShowPost.aspx?PostID=3307724&SiteID=15
  • 相关阅读:
    初识RabbitMQ
    ThreadPoolExecutor中execute和submit的区别
    MYSQL bin_log 开启及数据恢复
    MYSQL 悲观锁和乐观锁简单介绍及实现
    linux php多版本
    easyui汉化啊!
    虚化技术的额外开销
    拍脑袋空想不可能有创新
    大规模WEB服务技术
    xunsearch bsd 10.1安装心酸路。。。
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/create_index_order_by.html
Copyright © 2011-2022 走看看