SQL server 2000 分区表查询优化器的效果很差

nutian nutian 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
废话不多说,直接描述:
分区表T, 由10个子表组成T1 T2...........T10
子表在字段uid上建立约束和索引
语句:
select * from T where uid = 1
查询优化器会自动转换为查找相对应的字表T1

下面语句是问题:
declare @uid int
set @uid int = 1
select * from T where uid = @uid
当查询的条件改为变量后,发现查询优化器会对分区表所有的子表进行扫描.

实在是对sql脑残的查询优化器无语了,再想办法去找常量变量,结果sql server不支持常量变量

我认为,分区表极大的影响性能,稍微条件不好,查询优化器就会对所有子表进行扫描,浪费大量的运算.
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
nutian
疑难问题 22,298 成员 121,727 内容