大佬教程收集整理的这篇文章主要介绍了SQL Server中关于基数估计计算预估行数的一些方法探讨,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
关于sql Server 2014中的基数估计,官方文档Optimizing Your Query Plans with the sql Server 2014 Cardinality Estimator里有大量细节介绍,但是全部是英文,估计也没有几个人仔细阅读。那么sql Server 2014中基数估计的预估行数到底是怎么计算的呢? 有哪一些规律呢?我们下面通过一些例子来初略了解一下,下面测试案例仅供参考,如有不足或肤浅的地方,敬请指教!
下面实验测试的环境主要为sql Server 2014 SP2 (Standard Edition (64-bit)) 具体版本号为12.0.5000.0 ,如有在其它版本测试,后面会做具体说明。如下所示,我们先创建一个测试表并插入一些测试数据后,方便后面的测试工作。
(SELECT 1 FROM sys.objects WHERE type='U' AND name='test_ESTIMATED_ROW') BEGIN drop table test_ESTIMATED_ROW; END IF NOT EXISTS(SELECT 1 FROM sys.objects WHERE type='U' AND name='test_ESTIMATED_ROW') BEGIN create table test_ESTIMATED_ROW ( ID INT,name varchar(24) ) END GO DECLARE @Index INT =1; WHILE @Index <= 100="" begin="" insert="" into="" test_estimated_row="" values(10,'id="" is="" 10');="" set="" @index+="1;" end="" go="" declare="" @index="" int="1;" while="" @index="">=><= 200="" begin="" insert="" into="" test_estimated_row="" values(20,'id="" is="" 20');="" set="" @index+="1;" end="" go="" declare="" @index="" int="1;" while="" @index="">=><= 300="" begin="" insert="" into="" test_estimated_row="" values(30,'id="" is="" 30');="" set="" @index+="1;" end="" go="" declare="" @index="" int="1;" while="" @index="">=><= 400="" begin="" insert="" into="" test_estimated_row="" values(40,'id="" is="" 40');="" set="" @index+="1;" end="" go="" declare="" @index="" int="1;" while="" @index="">=><= 500="" begin="" insert="" into="" test_estimated_row="" values(50,'id="" is="" 50');="" set="" @index+="1;" end="" go="" create="" index="" ix_test_estimated_row_n1="" on="" test_estimated_row(id);="">=>
以上是大佬教程为你收集整理的SQL Server中关于基数估计计算预估行数的一些方法探讨全部内容,希望文章能够帮你解决SQL Server中关于基数估计计算预估行数的一些方法探讨所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。