
Last Updated (Thursday, 01 January 1970 13:59) Monday, 12 January 2009 16:47
การ เขียน SQL statement นอกจาก จะต้องได้ผลลัพธ์ ตามต้องการ และ ถูกต้อง แล้ว ควรต้องคำนึงถึง ผลกระทบ กับ ความมีประสิทธิภาพ ของฐานข้อมูล (database performance ) ด้วย
ถ้า SQL statement ที่เราเขียนนั้น ทำให้เกิดการอ่านดิสก์สูง ทำให้เกิด disk I/O wait มาก จะทำให้ database performance ตกต่ำลง นำมาซึ่ง การตอบสนองของฐานข้อมูลช้า ตามมาติดๆด้วย การบ่นของ user ผู้ใช้งาน -_-''
เราสามารถดักจับ SQL statement ที่ทำให้เกิดการอ่านดิสก์สูง ได้ด้วยการใช้ script high_disk_read.sql ต่อไปนี้
| ไฟล์ high_disk_read.sql | ||
set echo off | ||
| เวลาเอาไปใช้งาน ก็เอาไป run ใน sql*plus ด้วย user SYS หรือ SYSTEM ดังนี้ | ||
SQL> connect system/password@yourDB | ||
| สำหรับค่า DEFINE blocks_read = 1000 (NUMBER) เราสามารถเปลี่ยนตัวเลขได้ ตามต้องการครับ |