_覓 | 覦覈襦 | 豕蠏手 | 殊螳 | 譯殊碁 |
FrontPage › IndexSeek
|
|
[edit]
1 Index Seek? #Index Seek Non-Clustered Index襯 碁煙 碁Μ襯 螻 貊貊 谿伎 一危一 蠏狩り る . Non-Clustered Index Dense Index願, Secondary Index. (誤 Index襯 谿瑚蠍 覦) れ螻 螳 Query襯 り 螳.
SELECT * FROM TableA WHERE ColA IN ('B105', 'C101') --ColA Non-Clustered Index螳 焔 . --Clustered Index 焔讌 . -- Query れ ろ Index Seek襯 り 螳. Non-Clustered Index螳 れ螻 螳 蟆朱り 螳. Data Page Heap企. 谿瑚襦, 企 DBMS願唄 一危一 /豢レ Byte襦 殊企讌 . DBMS襷 豕 /豢 螳 伎 . Oracle企 Sybase 企 豕 /豢 襯 譟一 朱 MS-SQL Server 豕 /豢 螳 8KB襦 伎 . (讀, 1Byte襯 所鍵 伎 8KByte襯 曙伎 .) 蠏碁殊 Index Page, Data Page 覈 8KB企.
SQL Server 'B105'襯 谿剰鍵 れ螻 螳 . ( Index Seek 覿襯碁.)
[edit]
2 豐 覈 Page襯 曙螳? #豐 覈 Page襯 曙螳? れ螻 螳 2螳讌 蟆曙郁 .
蠏碁 れ 豐 Data Page 4Page企襦 碁煙るゼ 伎 蠏(6 or 7 Page) I/O螳 襷. 讀, /豢 觜 . Index Seek覲企る Data Page襯 豌覿 蟾讌 曙企れ企伎 覿覿襷 豢豢 蟆[1] . 蠏碁覩襦 CPU觜 Index Seek 覲企る Full Scan 蟆企. 企 伎 襷 豈 Row襯 螳讌 企 碁煙るゼ 燕讌 襷手 蟆企. Query覓語 Index Seek襯 蟆朱 螳 讌襷, れ襦 DBMS Full Scan朱 豕 蟆企. MS-SQL Server 觜一螻旧 覦讌讌 讌襷 伎 蠍磯蓋 觜螻磯逢覯 螳. 蠏碁覩襦 Index Seek襯 讌 Full Scan 讌 Index襯 伎 I/O Full Scan I/O襯 觜蟲 I/O襦 蠏狩 覦覯 覃 蠏瑚 牛磯伎 螻 覿覿 殊 蟆企.
[edit]
3 Random Access? #Random Access, Disk 一危磯ゼ 蠏狩 覓朱Μ (伎讌 ) 豺 蠏狩る 詞企. 一危一 覓朱Μ 豺 螻朱 覲蠍 覓語 襷蠏碁襦 'Random' 蠏殊企. 一 OS 譟郁覈企朱 覃 一危一 覓朱Μ 豺螳 覲蟆暑讌襷, 朱Μ朱 覲 蟆螻 螳. 螳 蠍磯 Random Access Oracle讓曙 (殊ろ 企ゼ 蠏碁 螳碁 蟆 螳) 襷企. 螳 螳 覿讌 谿.. 譟磯 企糾 襷れ. Random Access朱 企ゼ 危危 襷 る 螳 蟇碁碁. 殊 豈 覿♀ り 蟆 危危讌襷 覿 蠏碁讌 襷蠍磯ゼ 覦. Random Access襯 SQL Server 2000 Bookmark Lookup 手 覿襯願, SQL Server 2005 危 覯 Key Lookup RID Lookup 企手 覿襯碁. (願 譴 蟆 . 讌 旧 伎企手 螻 朱 譬.)
Random Access 'B105', 'C101'襯 谿城 螻殊 譴 2覯讌 螻殊 ' Leaf Index Page 襦貅危郁 螳襴る 一危 伎 企 Row襯 暑. ' 覿覿 Random Access手 覿襯碁. Random企朱 蟆 Data Page Data Page伎 豺螳 Random企襦 覿讌 企企. (豈 覲瑚 螻 螳企.) 襷 豈 Random Access襯 譴企手 蠏 伎螳 Random 蠍磯 . 覈 Data Page螳 Disk襷 譟伎螻 Memory 譟伎讌 り 螳 覲伎. SQL Server 'B105'螳 譟伎 Data Page襯 Disk 曙伎 Memory襦 殊れ[2] . 'C101' るジ Data Page 譟伎螻, Memory 譟伎讌 朱襦 Disk Meomory襦 Data襯 曙 れ . 企 讌 伎 CPU Memory襷 蠏手ル[3] 曙 貉危 蟲譟一 覓語 覓語企. 襷 'B105' 'C101' 螳 Data Page 譟伎る Disk Memory襦 一危磯ゼ 殊襴 殊 讌 螻 Memory 讌 Access覃 覩襦 豌襴 觜 譴企 蟆企. 蠏碁 一危一 る譟磯 覈 螳 焔レ レ 殊り 蟆企. 讌襷 れ螻 螳 貎朱Μ Random Access螳 殊企讌 蟆企.
SELECT ColA FROM TableA WHERE ColA IN ('B105', 'C101') Random Access螳 殊企讌 伎 Index Page襷 曙企 蟆郁骸襯 詞 蠍 覓語企. 襷 TableA螳 ColA, ColB, ColC襯 螳讌 蟆曙 れ螻 螳 Query Random Access螳 殊企 蟆企.
--ColA Non-Clustered Index螳 焔 螻, Index Seek襯 螳. SELECT ColA, ColB --ColB螳 Index襷 曙伎 覈襯碁. 一危 伎襯 曙伎朱 觜襦 ColB襯 螳語 . FROM TableA WHERE ColA IN ('B105', 'C101') SELECT ColA, ColB, ColC --ColC襦 襷谿螳讌. FROM TableA WHERE ColA IN ('B105', 'C101') SELECT ColA FROM TableA WHERE ColA IN ('B105', 'C101') AND ColB = '2005' --SELECT 覈讌 讌襷 企 Row螳 譟郁唄 襷讌 螳る 一危 伎襯 曙伎 . SELECT ColA FROM TableA WHERE ColA IN ('B105', 'C101') ORDER BY ColC -- 伎 ColC螳 蠍 覓語 一危 伎襯 曙伎 . [edit]
4 Random Access 覿 #れ 一危一 蠏狩蠍 伎 一危磯伎れ 觚襦企 伎煙企 覿襴讌 豕豢 襦 蠏殊 伎 る 詞企. 譴 蟆 1覦危碁ゼ 暑朱 DBMS 豕 /豢 襷 曙 れ碁る 蟆企. MSSQL Server 蟆曙磯 豕 /豢 螳 8KB襦 伎 蠍 覓語 8KB襯 曙 れ碁. 蠏碁覩襦 Heap企 Clustered Index螳 企 貉殊 蠍一朱 企至 れ 覓朱Μ 襦 螳螳 Bookmark Lookup[4] れ 觜 蟆一 蟆企.
Bookmark Lookup 觜 貎朱Μ 觜 谿讌 蟆朱 . 蠏碁 襷 伎 蠏狩伎朱 一危磯ゼ 螳語 . 願 覦襦 れ襦 磯Μ螳 螳 伎螻 れ 谿伎企.
[edit]
5 Non-Clustered Index Clustered Index螳 蟷 譟伎る? # 蠏碁殊 Heap Random Access 覦覯 伎手鍵 . 讌襷 Clustered Index Non-Clustered Index螳 蟷 譟伎る Access 覦覯 れ. 襷 襷 曙/螳煙/螳 殊企螻, ColB(螳 2005, 2006) Clustered Index螳 焔 り 螳覃 れ螻 螳 蠏碁殊 蟆企.
Clustered Index螳 螻, Non-Clustered Index螳 譟伎 企. 企 蟆曙一 Clustered Index襯 燕覃 Non-Clustered Index螳 れ 襷れ 讌. 覃 Clustered Index襯 蟲燕蠍 伎 Split企 覦一伎 蟆覃 襦貅危磯れ 碁螳 蟆 覯襴蠍 覓語企. 襷 碁煙るゼ れ 燕讌 る Non-Clustered Index Leaf Node 襦貅危一 螳覺 螳襴り 朱Μ朱 覲伎レ . (襷 朱 ) 蠏碁覩襦 企 Non-Clustered Index れ 襷れ 讌.
Clustered Index襯 燕 Unique襯 覈讌 蟆曙[5] 狩蟆 襷り鍵 4Byte襯 豢螳 狩蟆 襷. 覃 Clustered Index 伎襯 螳襴り 蠍 覓(企 伎 豌 螳襴り り 覲企 ) 蠏碁手骸 螳 Non-Unique Clustered Index襯 燕 蟆曙 Unique讌 蟆曙 燕 伎襯 螳襯危 蠍 覓語企.
[edit]
6 誤 覲伎 #れ るゼ 覲伎.
use pubs go exec sp_helpindex titles /* index_name index_description index_keys ----------------- ------------------------------------------------- ---------- titleind nonclustered located on PRIMARY title UPKCL_titleidind clustered, unique, primary key located on PRIMARY title_id */ dbcc show_statistics (titles, titleind) /* All density Average Length Columns ------------------- -------------------- --------------------- 5.5555556E-2 33.0 title 5.5555556E-2 39.0 title, title_id --> title_id 企ろ磯 碁煙り 焔 . */ 狩企ろ磯 碁煙れ All Density 狩企ろ磯 碁煙るゼ ′ 轟 title襷螻 企ろ磯 碁煙れ title_id螳 蟆 覲 . 讀, 狩企ろ磯 碁煙 語 るジ 一危磯ゼ 蠏狩 螳 朱 企ろ磯 碁煙る 企ろ磯 碁煙り 朱 (Heap) 蠏殊 伎 , 蠍一 title_id 企ろ磯 碁煙り 焔 朱襦 dbcc show_statistics 蟆郁骸 蟆企. 企 企朱 title訖襷 title_id螳 SQL覓語 企 Bookmark lookup 覲 . 覃 蟆郁骸 覲企 覦 螳 狩企ろ磯 碁煙れ 襴碁 企ろ磯 碁煙れ 螳(title title_id れ 一危) 蠍 覓語企. 願 ろ螻 覲伎企 Bookmark lookup企.
蠍一 螳讌 れ Clutered Index Non-Clutered Index襯 燕 螳 焔レ レ 殊る 蟆企. 襷 Non-Clustered Index襯 燕螻 Clustered Index襯 燕 蟆曙 Non-Clustered Index Leaf Node Clustered Index Key Value襦 螳煙伎 . 蠏碁覩襦 Clustered Index Non-Clustered Index襯 狩 燕 蟆曙郁 る Clustered Index覿 燕 蟆 襴.
[edit]
7 unique vs non-unique #use tempdb; set statistics io on create table index_test ( seq bigint ); insert index_test select top 10000 row_number() over(order by(select 1)) seq from master..spt_values a cross join master..spt_values b; create index idx1 on index_test(seq); create unique index idx2 on index_test(seq); --non unique index select * from index_test with (index=idx1) where seq <= 255 --朱Μ 所鍵 2, 譟郁唄 seq <= 256 企 朱Μ 所鍵 3 --unique index select * from index_test with (index=idx2) where seq <= 367 --朱Μ 所鍵 2, 譟郁唄 seq <= 368 企 朱Μ 所鍵 3 [edit]
8 碁煙れ ろ企 #襷 れ れ螻 螳 ろ企ゼ 螻 .
[edit]
10 蟾 螻褐朱... # 伎 螻 矩る Inside SQL Server 襴讀 豈 覲願碓 SQL襷り碓讌 蟲蠍 覦. 伎 蟾 螻褐 覈襯碁. る 襷 DB企 襾濠 磯 讌レる 覲伎レ .
[edit]
11 谿瑚襭 #
/* 企覲 碁煙れ 糾螳 襷讌襷朱 一危碁 讌 谿剰鍵 伎 (朱) 2003.10. (MS) 2004.8. */ SELECT USER_NAME( OBJECTPROPERTY( i.id, 'OwnerID' ) ) AS Owner ,OBJECT_NAME( i.id ) AS [Table] , i.name AS [Index] ,CASE INDEXPROPERTY( i.id , i.name , 'IsClustered') WHEN 1 THEN 'Y' ELSE '' END AS IsClustered ,CASE INDEXPROPERTY( i.id , i.name , 'IsUnique' ) WHEN 1 THEN 'Y' ELSE '' END AS IsUnique ,STATS_DATE( i.id , i.indid ) AS LastUpdatedDate ,dPages * 8. /1024 AS MB FROM sysindexes AS i WHERE OBJECTPROPERTY( i.id, 'IsMSShipped' ) = 0 AND 1 NOT IN ( INDEXPROPERTY( i.id , i.name , 'IsStatistics' ) , INDEXPROPERTY( i.id , i.name , 'IsAutoStatistics' ) , INDEXPROPERTY( i.id , i.name , 'IsHypothetical' ) ) AND i.indid BETWEEN 1 And 250 -- AND dPages > 100 -- 蠍 企 覓伎 AND (STATS_DATE( i.id , i.indid ) < getdate() - 15 OR STATS_DATE( i.id , i.indid ) IS NULL) --15 伎蟾讌 一危 蟆 ORDER BY Owner, [Table], [Index] --豢豌: dbguide.net 譬 蠍 覲願 螳. 螳. -- db願覓 2023-01-05 12:59:41
|
螻螳 るゴり り 蠎蠍一 企ゴ讌 覈詩 朱 朱 豺谿 襷 殊瑚. 蠍一 朱 覲願 螻襷ろ 殊 覃伎 貉るる 殊 蠏碁る蓋る 蟆 蠏譴 殊企. (碁れ拘) |