Skip to main content

สแกนตารางเต็มคืออะไร?

scan การสแกนตารางเต็มเป็นหนึ่งในวิธีการสแกนฐานข้อมูลที่ช้าที่สุด แต่ละเอียดที่สุดเหตุผลที่วิธีการสแกนนี้ช้ามากคือฐานข้อมูลอ่านทุกแถวและตรวจสอบเพื่อดูว่าคอลัมน์หนึ่งคอลัมน์หรือมากกว่านั้นถูกต้องสำหรับแบบสอบถามหรือเงื่อนไขที่กำหนดโดยผู้ดูแลระบบทริกเกอร์ที่พบบ่อยที่สุดสำหรับการสแกนตารางเต็มคือฐานข้อมูลไม่มีแถวดัชนีที่แบบสอบถามสามารถเปิดตัวได้โดยปกติแล้วจะเป็นการดีกว่าที่จะสแกนโต๊ะด้วยตนเองหากมองหาแถวเดียว แต่หากมองหามากขึ้นหรือหากมองผ่านตารางขนาดใหญ่การสแกนตารางเต็มจะทำงานได้ดีขึ้น

ฐานข้อมูลมาพร้อมกับฟังก์ชั่นการสแกนที่มองผ่านตารางเพื่อค้นหาข้อมูลหรือเพื่อตรวจสอบตารางเพื่อให้แน่ใจว่าสามารถเป็นไปตามเงื่อนไขการสแกนแบบเต็มตารางเป็นการสแกนอย่างละเอียดที่สุดเพราะแม้ว่าจะพบแถวที่ตรงกับเงื่อนไข แต่มันจะสแกนผ่านส่วนที่เหลือของแถวต่อไปฟังก์ชั่นนี้มีราคาแพงซึ่งหมายความว่าใช้หน่วยความจำจำนวนมากเนื่องจากการสแกนอ่านและเขียนในแต่ละแถวและยังทำการค้นหาหลายรายการเพื่อตรวจสอบแถวอย่างละเอียดจำเป็นต้องมีการสแกนแบบเต็มเมื่อมีการสืบค้นหรือฟังก์ชั่น แต่ฐานข้อมูลไม่เห็นดัชนีเพื่อเรียกใช้แบบสอบถาม

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

หน่วยความจำจำนวนมากจะถูกจัดสรรให้กับการสแกนตารางเต็มและมันก็ละเอียดมากจนการสแกนเต็มช้ามากหากผู้ดูแลระบบต้องการหนึ่งหรือไม่กี่แถวสำหรับการสืบค้นมันมักจะเร็วกว่าที่จะสร้างดัชนีขนาดเล็กแม้ว่าสิ่งนี้จะเป็นจริงหากแบบสอบถามมีขนาดใหญ่การสแกนแบบเต็มอาจทำงานได้เร็วขึ้นหากผู้ดูแลระบบทำการสืบค้นที่มีผลต่อฐานข้อมูลทั้งหมด 5 เปอร์เซ็นต์ขึ้นไปการสแกนแบบเต็มมักจะสามารถทำงานได้เร็วกว่าผู้ดูแลระบบที่ทำสิ่งเดียวกันด้วยตนเอง

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