加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何防止在列上创建统计信息?

发布时间:2021-04-01 13:36:34 所属栏目:MsSql教程 来源:网络整理
导读:我有一个列的表,我不希望创建或更新统计信息.如果我强制查询优化器使用主键上的统计密度而不是该列上的统计直方图,我会得到更好的连接基数估计.自动更新和自动创建统计信息在数据库级别打开,我无法更改. 如果您想建议防止统计信息创建的替代方法,请记住该表在

我知道sp_autostats但我需要一些东西来阻止自动统计的创建. sp_autostats仅阻止统计信息自动更新.

解决方法

创建一个新数据库(让我们称之为TestStats),禁用自动创建统计信息并在那里移动X_NO_COLUMN_STATS表.在此之后在数据库中创建一个视图,该视图将指向没有直方图的表:
CREATE VIEW X_NO_COLUMN_STATS
AS
    SELECT [COL_USER],[COL_GROUP] FROM TestStats.dbo.X_NO_COLUMN_STATS;
GO

如果我在这一点上正确地解决了你的问题,你将实现你想要的.您的CRUD操作将使用没有统计信息的表(是的,它将位于另一个数据库中,并且应始终牢记这一点)通过与您的表同名的视图.

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关内容
未处理完善
    无相关信息
未处理完善