加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

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

我知道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操作将使用没有统计信息的表(是的,它将位于另一个数据库中,并且应始终牢记这一点)通过与您的表同名的视图.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读