作家
登录

优化SQL查询:如何写出高性能SQL语句

作者: 来源: 2017-07-12 15:02:18 阅读 我要评论

SQL Server 2005新增了Merge Join,如不雅A表和B表的连接字段正好是集合索引地点字段,那么表的次序已经排好,只要两边拼上去就行了,这种join的开销相当于A表的结不雅集行数加上B表的结不雅集行数,一个是加,一个是乘,可见merge join 的效不雅要比Nested Loop Join很多多少了。

8、 一些SQL萌芽语句应加上nolock

如不雅连接的字段膳绫腔有索引,那SQL2000的效力是相当低的,而SQL2005供给了Hash join,相当于临时给A,B表的结不雅集加上索引,是以SQL2005的效力比SQL2000有很大年夜进步,我认为,这是一个重要的原因。

总结一下,在表连接时要留意以下几点:

(2) 细心推敲where前提,尽量减小A、B表的结不雅集

(3) 如不雅很多join的连接字段都缺乏索引,而你还在用SQL Server 2000,赶紧进级吧。

【编辑推荐】

  1. SQL Server、Mysql、Oracle三种数据库的优缺点总结
  2. 美团点评数据库高可用架构的演进与假想
  3. 7 月全球数据库排名宣布:Oracle扳回一局,MySQL最受迎接
  4. 【免费公开课】韩立刚-设备SQL2008R2数据库镜像
  5. SQLite数据库移植详解
【义务编辑:枯木 TEL:(010)68476606】

  推荐阅读

  Linux的EXT4 文件系统的历史、特性以及最佳实践

每个 EXT2 分区中的空间被分为柱面组(cylinder group),它许可更精细地治理数据空间。 根据我的经验,每一组大年夜小平日约为 8MB。 下面的图 1 显示了一个柱面组的根本构造。 柱面中的数>>>详细阅读


本文标题:优化SQL查询:如何写出高性能SQL语句

地址:http://www.17bianji.com/lsqh/36171.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)