พยายามระบุข้อลักษณะข้อมูลที่ต้องการจริงๆด้วย WHERE clause
การระบุลักษณะข้อมูลจะช่วยเพิ่มประสิทธิภาพของ Application ได้อย่างมาก เนื่องจาก DBMS จะคืนค่ามาเฉพาะเท่าที่เราระบุ ไม่ใช่การคืนค่าทุกระเบียนในตาราง และยังช่วยในการลดความคับคั่งภายใน Network ได้อีกด้วย
พยายามระบุจำนวนระเบียนที่ต้องการ
การระบุจำนวนระเบียนที่ต้องการด้วยคำสั่ง (TOP/LIMIT) เพื่อเรียกดูตามจำนวนที่ต้องการ จะช่วยเพิ่มความเร็วของ Application และลดความคับคั่งของข้อมูลใน Network ลงได้
พยายามระบุ column ที่ต้องการ
การระบุ Column จะช่วยเพิ่มประสิทธิภาพของ Application และทำการลดความคับคั่งใน Network ลงได้เนื่องจาก DBMS จะคืนค่ามาเฉพาะ Column ที่เราต้องการเท่านั้น ไม่ใช่ Column ทั้งหมดที่มีในตาราง
ใช้ View และ Stored Procedure แทนการใช้หลายคำสั่ง
จะช่วยลดความคับคั่งใน Network ลงเนื่องจาก Application จะส่งเพียงแค่ชื่อ View หรือ Stored Procedure นั้นๆเท่านั้น (รวมถึง parameter ต่างๆด้วย) และยังสามารถใช้ในการจัดการสิทธิในการเข้าถึงข้อมูลโดยตรงได้อีกด้วย โดยการให้ใช้งานผ่านทาง View และ Stored Procedure
ถ้าต้องการเพียงจำนวนระเบียนในตาราง สามารถใช้วิธีอื่นๆแทน SELECT COUNT(*) ได้ [MSSQL]
ใน MSSQL เราสามารถใช้วิธีอื่นในการหาจำนวนระเบียนทั้งหมดของตารางได้โดยการดึงข้อมูลจากตาราง SYSINDEX ที่เก็บข้อมูล index ของแต่ละตารางไว้ โดยใช้คำสั่ง
TSQL
- SELECT ROWS FROM sysindex WHERE id = OBJECT_ID('table_name') AND indid < 2
จะช่วยเพิ่มความเร็วในแต่ละครั้ง
พยายามเลิกใช้ HAVING clause เมื่อสามารถทำได้
การใช้ HAVING clause จะใช้ในการระบุรูปแบบข้อมูลที่ต้องการต้องใช้พร้อมกับคำสั่ง GROUP BY clause เมื่อมีการใช้งาน HAVING clause จะนำผลจากคำสั่ง GROUP BY clause มารวมเป็นชุดของข้อมูลและหาผลรวมทั้งหมด (เนื่องจาก GROUP BY จะใช้กับคำสั่งในกลุ่ม Aggregate Functions) จากนั้นจะเอา HAVING clause มาตัดส่วนที่ไม่ต้องการออก ในหลายๆกรณี เราสามารถใช้ WHERE clause และ GROUP BY clause โดยไม่ต้องใช้ HAVING clause แทนได้ จะช่วยเพิ่มประสิทธิภาพของ Application ได้