国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL SERVER中關(guān)于OR會導(dǎo)致索引掃描或全表掃描的淺析

2024-08-31 00:54:09
字體:
供稿:網(wǎng)友
SQL SERVER中關(guān)于OR會導(dǎo)致索引掃描或全表掃描的淺析 2015-08-02 18:31 by 瀟湘隱者, ... 閱讀, ... 評論, 收藏, 編輯

在SQL SERVER的查詢語句中使用OR是否會導(dǎo)致不走索引查找(Index Seek)或索引失效(堆表走全表掃描 (Table Scan)、聚集索引表走聚集索引掃描(Clustered Index Seek))呢?是否所有情況都是如此?又該如何優(yōu)化呢? 下面我們通過一些簡單的例子來分析理解這些現(xiàn)象。下面的實(shí)驗(yàn)環(huán)境為SQL SERVER 2008,如果在不同版本有所區(qū)別,歡迎指正。

堆表單索引

首先我們構(gòu)建我們測試需要實(shí)驗(yàn)環(huán)境,具體情況如下所示:

DROPTABLE TEST
 
CREATETABLE TEST (OBJECT_ID INT, NAME VARCHAR(32));
CREATEINDEX PK_TEST ON TEST(OBJECT_ID)
 
DECLARE @IndexINT =0;
WHILE @Index < 500000
BEGIN
 INSERT INTO TEST
 SELECT @Index, 'kerry'+CAST(@IndexASVARCHAR(6));
 
 SET @Index = @Index +1;
END
UPDATESTATISTICS TEST WITH FULLSCAN

場景1:如下所示,并不是所有的OR條件都會導(dǎo)致SQL走全表掃描。具體情況具體分析,不要套用教條。<

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿克| 云南省| 如东县| 怀仁县| 昭平县| 津市市| 仁寿县| 营山县| 东丰县| 汉中市| 乌兰浩特市| 禄丰县| 商城县| 河北省| 吉水县| 正安县| 美姑县| 大姚县| 江北区| 宣武区| 乐山市| 江油市| 永安市| 安平县| 柞水县| 大新县| 高青县| 峨眉山市| 攀枝花市| 繁峙县| 冕宁县| 米林县| 积石山| 张北县| 桃江县| 信丰县| 武功县| 平定县| 北票市| 运城市| 讷河市|