คิวรีเมื่อทำ Index Seek ในดรรชนีแบบ CI


Home Page  |   รายการบทความ   |   ลิงค์ที่เกี่ยวข้อง   |   laploy.com  |  เกี่ยวกับผู้เขียน

 

คิวรีเมื่อทำ Index Seek ในดรรชนีแบบ CI

 

ต่อไปจะทดลองคิวรีที่ค้นข้อมูลเฉพาะเจาะจง ไม่ได้ไล่แสดงทุกแถวอย่างหัวข้อที่ผ่านมา คิวรีเป็นดังนี้

     SELECT SalesOrderID

     FROM Sales.SalesOrderDetail

     WHERE SalesOrderID = 55356

โปรดสังเกตว่าคอลัมน์ที่ฉายแสดงมีสามคอลัมน์เหมือนคิวรีในหัวข้อที่ผ่านมา คิวรีเหมือนเดิมแต่คราวนี้เพิ่มคำสั่ง WHERE เพื่อค้นข้อมูลเฉพาะเจาะจง แผนภูมิวิเคราะห์การปฏิบัติงานของคิวรีเป็นอย่างที่เห็นในภาพ 8-27

ภาพ 8-27 : แผนภูมิวิเคราะห์การปฏิบัติงานของคิวรีเมื่อทำ Index Seek ในดรรชนีแบบ CI

จะเห็นว่าการทำงานคราวนี้เป็น Clustered Index Seek ไม่ใช่ Clustered Index Scan อย่างในหัวข้อที่ผ่านมา ค่า EOC ที่ได้จะต่ำกว่ามาก คือเหลือเพียง 0.003285 ที่เป็นเช่นนั้นเพราะโปรแกรม SQL2008 จะท่องไปใน BTree เมื่อถึงระดับ LLN ก็พบข้อมูลที่ต้องการและจบการทำงานได้เนื่องจาก LLN ของ CI เก็บข้อมูลจริงๆ ไม่ได้เก็บพอยน์เตอร์

 

คิวรีเมื่อทำ Index Scan ในดรรชนีแบบ NCI

สองตัวอย่างที่ผ่านมาเป็นการทำงานโดยใช้ดรรชนีหมายเลข 1 ต่อไปท่านจะมาดูผลลัพธ์ของการทำงานเมื่อใช้ดรรชนีหมายเลข 2 ซึ่งเป็น NCI กันบ้าง คิวรีเป็นดังนี้

     SELECT ProductID

     FROM Sales.SalesOrderDetail

 

ภาพ 8-28 : แผนภูมิวิเคราะห์การปฏิบัติงานของคิวรีเมื่อทำ Index Scan ในดรรชนีแบบ NCI

จะเห็นว่าเนื่องจากผู้เขียนเลือกฉายคอลัมน์ ProductID เพียงคอลัมน์เดียว โปรแกรม SQL2008 จึงตัดสินใจใช้ดรรชนีดรรชนีหมายเลข 2 เพราะดรรชนีนี้ใช้คอลัมน์นี้เป็นกุญแจ โปรดสังเกตว่านี่คือการทำ Index Scan (ของ Non-Clustered)ผลลัพธ์ได้ค่า EOC ที่ถือว่าไม่เลวทีเดียวเมื่อเทียบกับหัวข้อ 8.23.1 และเมื่อคิดว่านี่คือการฉายแถวข้อมูลทั้งหมดแสนกว่าแถวโดยใช้ NCI

โฆษณา

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google photo

You are commenting using your Google account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: