位置: 编程技术 - 正文

自增长键列统计信息的处理方法(主键自增长的数据如何导入)

编辑:rootadmin

推荐整理分享自增长键列统计信息的处理方法(主键自增长的数据如何导入),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:自动增长列,自增列不能做主键,主键自增长的数据如何导入,自增列不能做主键,自增长主键,自增长主键,主键自增长的数据如何导入,自增长主键,内容如对您有帮助,希望把文章链接给更多的朋友!

这篇文章通过文字代码的形式讲解了如何处理用自增长键列的统计信息。我们都知道,在SQL Server里每个统计信息对象都有关联的直方图。直方图用多个步长描述指定列数据分布情况。在一个直方图里,SQL Server最大支持的步长,但当你查询的数据范围在直方图最后步长后,这是个问题。我们来看下面的代码,重现这个情形:

在索引重建后,我们再看下直方图,我们发现最后步进的值是--。

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_df.jpg" alt="查看图片" />

你已经看到,在最后步进到表里后,我们插入了条额外记录。这样的话,直方图并没有真实反馈实际的数据分布情况,但SQL Server还是要进行基数计算。我们现在来看看在不同版本里SQL Server是如何处理这个问题的。

在SQL Server 之前,基数计算对此问题的处理非常简单:SQL Server估计行数为1,你可以从下面的图片里看到。

点击工具栏的显示包含实际的执行计划,并执行如下查询:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dc1ff2.png" alt="查看图片" />

自SQL Server SP1起,查询优化器可以标记1列为自增长(Ascending)来克服刚才介绍的限制。如果你用自增长列值更新了统计信息对象3次,那列就会被标记为自增长列。为了看有没有列标记为自增长,你可以使用跟踪标记。当你启用这个跟踪标记,DBCC SHOW_STATISTICS的输出就改变了,有额外列返回。

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dce.png" alt="查看图片" />

现在下面的代码更新统计信息3次,每次用自增长键列值在我们聚集索引末尾插入行。

然后,当我们执行DBCC SHOW_STATISTICS命令,你会看到SQL Server已讲那列标记为Ascending。

自增长键列统计信息的处理方法(主键自增长的数据如何导入)

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_ded4.png" alt="查看图片" />

现在当你再次执行查询不是直方图范围的数据时,没有任何改变。为了使用标记为自增长键列,你要启用另外一个跟踪标记-。如果你启用这个跟踪标记,查询优化器就是密度向量(Density Vector)来进行基数计算。

来看下现在的表密度:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_db9f2.png" alt="查看图片" />

现在的表密度是0.,因此查询优化器的估计行数是.:0.*(-)。

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dafd.png" alt="查看图片" />

这虽然不是最好的结果,但比估计行数1好很多!

(这里有问题,我本地是SQL Server r2,测试估计行数还是1,不知原因,望知道的朋友解释下,多谢!)

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dc.png" alt="查看图片" />

SQL Server 在SQL Server 引入的一个新功能是新基数计算。新基数计算对于自增长键问题的处理非常简单:默认不使用任何跟踪标记,来使用统计信息对象的密度向量来进行基数计算。下面查询启用跟踪标记的基数计算来运行同个查询。

我们来看这里的基数计算,你会看到查询优化器再次估计行数是.,但这一次没表上自增长。这是SQL Server 的自带功能。

(SQL Server 测试失败,估计行数也是1……)

在这篇文章,我向你展示了SQL Server的查询优化器如何处理自增长键问题。在SQL Server 之前,你需要启用跟踪标记来获得更好的基数计算——这样的话那列会标记为自增长(ascending)。SQL Server ,查询优化器默认就使用密度向量来进行基数计算,这样就方便很多。我希望你对此有所收获,在SQL Server里如何处理自增长键列问题你会有更好的想法。

希望对大家有所启迪,谢谢。

简单介绍SQL Server中的自旋锁 为什么我们需要自旋锁?用闩锁同步多个线程间数据结构访问,在每个共享数据结构前都放置一个闩锁没有意义的。闩锁与此紧密关联:当你不能获得

简单介绍SQL Server里的闩锁 在今天的文章里我想谈下SQLServer使用的更高级的,轻量级的同步对象:闩锁(Latch)。闩锁是SQLServer存储引擎使用轻量级同步对象,用来保护多线程访问

为什么我们需要在SQL Server里更新锁 每次讲解SQLServer里的锁和阻塞(Locking&Blocking)都会碰到的问题:在SQLServer里,为什么我们需要更新锁?在我们讲解具体需要的原因前,首先我想给你介

标签: 主键自增长的数据如何导入

本文链接地址:https://www.jiuchutong.com/biancheng/347417.html 转载请保留说明!

上一篇:sqlserver数据库优化解析(图文剖析)(sqlserver数据库优化的几种方式)

下一篇:简单介绍SQL Server中的自旋锁(简单介绍春节的风俗)

  • 季度内超过30万红冲后用不用缴税?
  • 远期交易怎么结算
  • 企业无票支出怎么入账
  • 预缴税款可以下调吗
  • 收入支出结余公式原理
  • 信息技术费如何做账
  • 新公司成立后需要办理导航业务吗
  • 契税晚交有什么影响
  • 应纳税调增调减会计分录
  • 商贸公司结转成本应该贴什么凭证
  • 将债务转为资本会引起负债总额发生变动吗
  • 公司之间借款如何做账
  • 资产减值准备的会计科目
  • 什么时候需要交个人所得税
  • 如何选一般纳税人还是小规模纳税人合作?
  • 管理费用进项抵扣比例是多少?怎么算
  • 从租计征的房产税减半政策
  • 个人出租商铺要交城镇土地使用税吗
  • 商业承兑汇票风险
  • 财务费用属于什么会计科目类别
  • 分支机构能否核定企业所得税
  • 发放的离职补偿金怎么做账
  • 附加税的税率是什么
  • 银行融资成本计算方法
  • Win10 Build 19044.1319(21H1)预览版发布:修复 Bug提高安全性
  • 股东帮公司垫付货款
  • 缴纳公积金个人部分会计分录
  • phpstorm ftp
  • 硬盘最小的存储单位
  • 办公室装修入账
  • 应收票据及应收账款是什么科目
  • 货运代理开票
  • 房屋装修各项费用比例
  • php文件用什么运行
  • uniapp怎么做适配
  • 雷尼尔国家公园攻略
  • php的json_encode
  • 注销公司需要缴纳注册资金吗
  • 企业长期资金的筹集方式
  • 房地产销售老项目增值税
  • php数字转16进制
  • php 写入excel
  • uniapph5微信支付
  • 基于transformers的nlp入门 pdf
  • yolo v5详解
  • 固定资产改造费用化账务处理
  • 注册资本增加了怎么做账
  • 小规模的企业所得税怎么计算
  • 正规现金收款收据怎么写
  • Linux常用命令与vim
  • phpcms怎么用
  • 企业之间借款有利息要开票吗
  • 利润表调整了资产负债表怎么调整
  • 赔偿给客户的产品交增值税吗
  • 债务重组损失如何做会计分录
  • 在建工程的人工费进行了全员申报后,清算时怎么处理?
  • 收到红字发票如何入账
  • 财务负责人怎么实名认证
  • 企业申请支付宝账号步骤
  • 新公司季初资产总额填什么
  • 施工期间水电费没有发票财务不给报销
  • mac怎么一键关机
  • smsvchost.exe是什么文件 电脑中Svchost.exe病毒解决办法
  • Centos 6.5 64位双网卡绑定教程
  • pgptray.exe - pgptray是什么进程 有什么用
  • win10qq在哪里启动
  • linux tcptraceroute
  • 使用JQuery FancyBox插件实现图片展示特效
  • 建立批处理命令
  • 深入解读2023年一号文件
  • 你所不知道的童话动画版免费观看第二季
  • 深圳买新房契税怎么收
  • 东莞为什么这么多人
  • 增资注册资本
  • 深圳市国家税务局电子税务局官网
  • 江苏省官网
  • 承租房变更承租人申请怎么写
  • 税务筹划企业所得税案例分析题
  • 张家港港区国税局地址
  • 商住两用房出售要交契税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设