博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL SERVER 強制指定使用索引 -转载 只为学习
阅读量:5287 次
发布时间:2019-06-14

本文共 959 字,大约阅读时间需要 3 分钟。

今天很高兴 ,有学会了一种数据库优化的方式,哈哈

今天遇到一個查詢逾時的問題:兩段SQL,只差在WHERE,一個是WHERE COLUMN1='AAA',一個是WHERE COLUMN1='BBB',產生的執行計畫卻不一樣;一個用PK索引,一個用IX索引(叢集索引跟非叢集索引的差別?)

查到兩種方法,INDEX()跟FORCESEEK

  1. INDEX('指定索引名稱')
  2. FORCESEEK 指定從哪個資料表搜尋
--系統會自動選用IX_index
select
 
count(1)
from
 table1 a
 
with(nolock)
join
 table2 b
 
with(nolock)
 
on
 a.key_col=b.key_col
where  b.some_col=
'aaa'
 
--系統會自動選用PK_index
select
 
count(1)
from
 table1 a
 
with(nolock)
join
 table2 b
 
with(nolock)
 
on
 a.key_col=b.key_col
where  b.some_col=
'bbb'
 
--指定使用
PK_index
select
 
count(1)
from
 table1 a
 
with(nolock)
join
 table2 b
 
with(nolock,,
 
INDEX( PK_table2 ))
 
on
 a.key_col=b.key_col
where  b.some_col=
'aaa'
 
--沒實際用成功過,不知是否有效,資料庫相容性模式要設為90
select
 
count(1)
from
 table1 a
 
with(nolock)
join
 table2 b
 
with(FORCESEEK)
 
on
 a.key_col=b.key_col
where  b.some_col=
'aaa'

參考資料:

http://msdn.microsoft.com/zh-tw/library/bb677261.aspx

http://msdn.microsoft.com/zh-tw/library/bb510478.aspx

DotBlogs Tags:  

转载于:https://www.cnblogs.com/guozhe/p/3186326.html

你可能感兴趣的文章
P1970 花匠
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>