国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 贵德县| 澄江县| 巩留县| 民乐县| 芮城县| 正定县| 册亨县| 衡南县| 洮南市| 金堂县| 巴东县| 密云县| 常山县| 朔州市| 玉屏| 泉州市| 双峰县| 墨竹工卡县| 赤峰市| 凤冈县| 韩城市| 宣汉县| 莆田市| 石狮市| 济宁市| 晴隆县| 仁化县| 无极县| 内丘县| 池州市| 彭山县| 毕节市| 旬阳县| 资溪县| 土默特右旗| 莱州市| 民和| 大足县| 宕昌县| 龙里县| 玛纳斯县|