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,赶紧进级吧。
【编辑推荐】
- SQL Server、Mysql、Oracle三种数据库的优缺点总结
- 美团点评数据库高可用架构的演进与假想
- 7 月全球数据库排名宣布:Oracle扳回一局,MySQL最受迎接
- 【免费公开课】韩立刚-设备SQL2008R2数据库镜像
- SQLite数据库移植详解
推荐阅读
每个 EXT2 分区中的空间被分为柱面组(cylinder group),它许可更精细地治理数据空间。 根据我的经验,每一组大年夜小平日约为 8MB。 下面的图 1 显示了一个柱面组的根本构造。 柱面中的数>>>详细阅读
本文标题:优化SQL查询:如何写出高性能SQL语句
地址:http://www.17bianji.com/lsqh/36171.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示