知识大全 SQL Server执行SQL语句时内存占用特点[4]
Posted 知
篇首语:历览千载书,时时见遗烈。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server执行SQL语句时内存占用特点[4]相关的知识,希望对你有一定的参考价值。
SQL Server执行SQL语句时内存占用特点[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在两个表都有聚集索引情况下 逻辑读最小 每个表只有 到 次 而且只有实际需要输出的数据才会被读入内存页 两个表都有非聚集索引情况下 消耗的逻辑读和内存资源近似
测试 执行Merge Join
执行全表选取或者低选择性选取
执行SQL:
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo
如果两张表都没有任何索引 则两张表都要进行全表扫描 所有的数据都要读入内存页
逻辑读数近似等于两张表的数据页总和 SQL Server处理过程中将使用到临时表
只有一张表有聚集索引的情形类似 SQL Server处理过程中将使用到临时表 并且读入所有的数据页到内存
如果两张表都有聚集索引 尽管两表的数据都会被读入内存页 但逻辑读数已经大大减少 等于其中一张表总数据内存页数加上最终输出的数据页数 而且SQL Server处理过程中将不需要再使用临时表
执行高选择性选取
对于这样的高选择性SQL语句 SQL Server 将提示无法生成执行计划
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo Where A MobileNo=
但可以执行
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo Where A MobileNo<= (注 最终结果只有 条)
这样的属于低选择性语句 但最终结果也很少的语句 如前面所述 这种情况下 采用netsted loop联接效率可能更高
执行高选择性选取
执行如下的SQL语句
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo Where A MobileNo=
在两个表都没有任何索引情况下 两张表都将执行全表扫描 要读入所有的数据页到内存 总体逻辑读取决于两表的数据页数
在一个表有聚集索引或者非聚集索引情况下 该表将执行Index Seek 另一个表将出现全表扫描 内存数据缓冲区中 将有一张表只读入最终数据所在的数据页 一张表读入全部数据页 逻辑读数取决于表在联接中的秩序 以及无索引表的数据页数
在两个表都有聚集索引情况下 逻辑读最小 每个表只有 到 次 而且只有实际需要输出的数据才会被读入内存页 两个表都有非聚集索引情况下 消耗的逻辑读和内存资源近似
测试 执行Merge Join
执行全表选取或者低选择性选取
执行SQL:
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo
如果两张表都没有任何索引 则两张表都要进行全表扫描 所有的数据都要读入内存页
逻辑读数近似等于两张表的数据页总和 SQL Server处理过程中将使用到临时表
只有一张表有聚集索引的情形类似 SQL Server处理过程中将使用到临时表 并且读入所有的数据页到内存
如果两张表都有聚集索引 尽管两表的数据都会被读入内存页 但逻辑读数已经大大减少 等于其中一张表总数据内存页数加上最终输出的数据页数 而且SQL Server处理过程中将不需要再使用临时表
执行高选择性选取
对于这样的高选择性SQL语句 SQL Server 将提示无法生成执行计划
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo Where A MobileNo=
但可以执行
以下是引用片段 Select * From P_Order A Inner merge JOIN P_User B ON A MobileNo=B MobileNo Where A MobileNo<= (注 最终结果只有 条)
这样的属于低选择性语句 但最终结果也很少的语句 如前面所述 这种情况下 采用netsted loop联接效率可能更高
cha138/Article/program/SQLServer/201311/22450相关参考
知识大全 SQL Server执行SQL语句时内存占用特点[2]
SQLServer执行SQL语句时内存占用特点[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 SQL Server执行SQL语句时内存占用特点[1]
SQLServer执行SQL语句时内存占用特点[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQLServer占用内存的解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 经常有网友会
知识大全 SQL Server 7.0 函数及SQL语句相关问题
SQLServer7.0函数及SQL语句相关问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
用SQL语句完成SQLServer数据库的修复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使
知识大全 SQL Server 数据库管理常用的SQL和T-SQL语句[3]
SQLServer数据库管理常用的SQL和T-SQL语句[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
知识大全 SQL Server 数据库管理常用的SQL和T-SQL语句[2]
SQLServer数据库管理常用的SQL和T-SQL语句[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
知识大全 SQL Server 数据库管理常用的SQL和T-SQL语句[1]
SQLServer数据库管理常用的SQL和T-SQL语句[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
SQLServer中动态和静态内存分配 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQL服务
浅析SybaseSQLServer内存分配 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们知