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

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

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

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

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

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