ตัวประมวลผลสอบถามเป็นส่วนประกอบหนึ่งของระบบการจัดการฐานข้อมูลที่ทำหน้าที่ในการเลือกแผนหรือกลยุทธ์ที่เหมาะสม ตัวประมวลผลสอบถามมีโครงสร้างดังภาพที่ 8.1.2.1 ซึ่งมีส่วนประกอบดังนี้
เป็นส่วนหนึ่งของตัวประมวลผลสอบถามที่ทำหน้าที่ตรวจเช็คกฎและหลักเกณฑ์ (syntax) ของคำสั่งสอบถามข้อมูลที่กำหนดไว้ในระบบฐานข้อมูล โดยจะทำการตรวจสอบข้อมูลที่อยู่ในพจนานุกรมข้อมูลแล้วทำการแปลคำสั่งให้อยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) ที่ระบบจัดการฐานข้อมูลสามารถเข้าใจได้
ตัวอย่าง ภาษาSQL เพื่อภาษาสอบถามข้อมูลต้องการสอบถามข้อมูลจากตาราง COURSE โดยทำการค้นหาข้อมูลที่มีรหัสวิชา (Course#) เป็น COMP353 ที่มี Smith เป็นผู้สอนมีดังนี้
select Course#
from COURSE
where Course# = COMP353 and
Insturctor = Smith;
จากคำสั่งภาษา SQL ดังกล่าวข้างต้น ส่วนตรวจสอบภาษา (parser) จะทำการแปลคำสั่งในการสอบถามจากภาษา SQL ให้อยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) ได้ดังนี้
s Course# = COMP353 Ù (Instructor = Smith(COURSE))
เป็นส่วนหนี่งของตัวประมวลผลสอบถามที่ทำหน้าที่ในการกลยุทธ์หรือวิธีการที่เหมาะสมเพื่อให้การเข้าถึงข้อมูลประหยัดเวลาที่สุด เมื่อคำสั่งในภาษาสอบถามผ่านตัวตรวจสอบภาษา (parser) แล้วจะได้คำสั่งในการสอบถามที่อยู่ในรูปของสมการพีชคณิตแบบสัมพันธ์ (relational algebraic expression) ซึ่งสามารถประมวลผลได้หลายวิธีด้วยเทคนิคต่าง ๆ ในการหาทางเลือกที่เหมาะสม (optimization) ออฟติไมเซอร์จะทำการเลือกการเข้าถึงข้อมูล (aceess plan) โดยการเลือกแผนการเข้าถึงข้อมูลซึ่งจะต้องคำนึงถึงประเด็นต่อไปนี้
· การลดปริมาณการดึงหรือเรียกใช้ข้อมูล
· การลดขนาดของโครงสร้างข้อมูลโดยพิจารณาใช้เทคนิคการลดการทำงานระหว่างการดึงข้อมูล
· เพิ่มความสามารถในการดึงข้อมูลด้วยการเรียงลำดับไว้ก่อน การจัดเรียงลำดับใหม่อาจจะช่วยลดการทำงานบางอย่างไร เพื่อช่วยให้การประมวลผลสอบถามสามารถทำงานได้ดีขึ้น ออฟติไมเซอร์โดยอาจสร้างสมการพีชคณิตแบบสัมพันธ์ให้อยู่ในรูปแบบของโครงสร้างต้นไม้ที่อยู่ในรูปของกราฟ (operator graph) ดังภาพที่ 8.1.2.2 เป็นโอเปอร์เรเตอร์กราฟ (operator graph) ของการค้นหารายชื่อของนักศึกษาที่ลงทะเบียนเรียนวิชา Database
· จัดลำดับคำสั่งเพื่อให้ขั้นตอนการทำงานลดลงได้แก่ จัดลำดับการคำสั่ง SELECT เพื่อลดการนำเข้าข้อมูลตั้งแต่เริ่มต้นดึงข้อมูลจากดิสก์
· เลือกใช้คำสั่งในการจัดกลุ่ม( PROJECT ) และคำสั่งค้นหา (SELECT) ในการเลือกกลุ่มข้อมูล