เป็นสิ่งสำคัญที่ต้องตระหนักว่า SQL เป็นภาษาที่ประกาศได้ SELECT
แบบสอบถามที่คุณเขียนระบุผลตรรกะที่ควรจะกลับ มันขึ้นอยู่กับเอ็นจิ้นฐานข้อมูลโดยเฉพาะเคียวรีเครื่องมือเพิ่มประสิทธิภาพการค้นหาเพื่อกำหนดกลยุทธ์ทางกายภาพที่มีประสิทธิภาพเพื่อส่งคืนผลลัพธ์เหล่านั้น
แผนการดำเนินการทางกายภาพขั้นสุดท้ายจะขึ้นอยู่กับความสามารถในการใช้เหตุผลของเครื่องมือเพิ่มประสิทธิภาพจำนวนเวลาที่เตรียมไว้เพื่อใช้กับปัญหาความพร้อมใช้งานของวิธีการเข้าถึงที่เหมาะสม (ดัชนีหลักและมุมมองที่เป็นรูปธรรม) ข้อมูลสถิติตัวแทน ข้อกำหนดคุณสมบัติการสืบค้นจะใช้รหัสการปรับให้เหมาะสม
โดยทั่วไปหากการออกแบบฐานข้อมูลของคุณสัมพันธ์คุณให้วิธีการเข้าถึงที่ดีและข้อมูลทางสถิติที่ถูกต้องและแบบสอบถามนั้นเขียนได้ดีเครื่องมือเพิ่มประสิทธิภาพโดยทั่วไปจะพบกลยุทธ์การดำเนินการทางกายภาพที่สมเหตุสมผลโดยไม่ต้องกังวลเกี่ยวกับรูปแบบการเขียนของ ข้อกำหนดแบบสอบถามมากเกินไป
จะมีหลายกรณีที่แสดงความต้องการตรรกะเดียวกันโดยใช้ไวยากรณ์ที่แตกต่างกัน (แต่เหมือนกันในเชิงความหมาย) จะมีผลต่อแผนการดำเนินการทางกายภาพ แต่ควรเป็นข้อกังวลที่สอง โดยทั่วไปให้พิจารณาเฉพาะการแสดงแบบสอบถามที่แตกต่างกันหากลักษณะของรันไทม์ไม่สามารถยอมรับได้เมื่อมีการครอบคลุมพื้นฐานทั้งหมดที่กล่าวถึงข้างต้นแล้ว
มันจะหายากในสุดขีดสำหรับคำสั่งเขียนของWHERE
ประโยคประโยคที่เชื่อมต่ออย่างง่าย(ดังในคำถาม) ที่จะส่งผลกระทบต่อแผนปฏิบัติการทางกายภาพในลักษณะใด ๆ ที่วัดได้ ในระยะสั้นนี่ไม่ใช่สิ่งที่คุณควรใช้เวลากังวล รับการออกแบบฐานข้อมูลดัชนีและข้อมูลสถิติก่อน
ในการตอบคำถามโดยตรง (ในที่สุด!) การเพิ่มเงื่อนไขซ้ำซ้อนอาจช่วยเพิ่มประสิทธิภาพ แต่ถ้าใช้วิธีการเข้าถึงที่มีประสิทธิภาพมากขึ้นตัวอย่างเช่นหากมีเพียงดัชนีใน (BitField, VarcharField) หากมีดัชนีอยู่แล้ว (VarcharField) ก็จะเพิ่มเฉพาะค่าใช้จ่าย
ในฐานะที่เป็นรายละเอียดการใช้งานไม่ใช่ SQL Server ไม่พิจารณาค่าใช้จ่ายในการเปรียบเทียบขึ้นอยู่กับชนิดข้อมูลหรือความซับซ้อนในการคำนวณที่ชัดเจน ในความเป็นจริงมีค่าใช้จ่ายเล็กน้อยของการดำเนินงานเซนต์คิตส์และเนวิสแต่สิ่งที่นำไปสู่หัวข้อที่แยกต่างหากทั้งหมด
คำถามที่เกี่ยวข้อง:
ตัวดำเนินการทางตรรกะหรือและในสภาพและลำดับของเงื่อนไขใน WHERE
SQL Server 2008 และนิพจน์ค่าคงที่
ตัวดำเนินการ Bitwise ที่ส่งผลต่อประสิทธิภาพ
แปลกพฤติกรรมคำชี้แจง SQL