• 建索引(尤其是主键)时请注意索引列的顺序


    在我们创建主键或者其他索引时,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
  • 相关阅读:
    大二暑期周总结(四)
    大二暑期周总结(三)
    寒假十七
    寒假十六
    寒假十五
    寒假十四
    寒假十三
    寒假十二
    寒假十一
    寒假十
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/create_index_order_by.html
Copyright © 2020-2023  润新知