เมื่อ mysql_query() เจอกับ mysql_db_query() อันใครดีกว่ากัน


หากมีการ query ข้อมูลประมาณซัก 4 ครั้งในหน้านั้น ๆ


ระหว่าง


วิธีที่ 1


mysql_select_db($dbname) or die(mysql_error());


mysql_query($sql1)


mysql_query($sql2)


mysql_query($sql3)


mysql_query($sql4)


 


กับ


วิธีที่ 2


mysql_db_query($dbname,$sql1)  or die(mysql_error());


mysql_db_query($dbname,$sql2)  or die(mysql_error());


mysql_db_query($dbname,$sql3)  or die(mysql_error());


mysql_db_query($dbname,$sql4)  or die(mysql_error());


 


มันแตกต่างกันตรงไหนบ้างครับ


เช่น ความไว ประสิทธิภาพ หรืออื่น ๆ


 


ส่วนตัวผมเดาว่า วิธีที่ 1 จะไว กว่าเพราะว่าได้มีการ select db ครั้งเดียวแล้วนำมากับทั้ง 4 sql ด้านล่างเลย


ส่วนวิธีที่ 2 นั้นเราต้องเลือกเอา $dbname มาทุกครั้งที่มีการ query อันนี้คือผมเดานะครับ หรือ ท่านใจะให้ความกระจ่าง


 


ผมด้วยนะครับ

07 ธ.ค. 2553 1 2,207

เรื่องประสิทธิภาพ ผมคงตอบไม่ได้เนื่องจากไม่เคยทดสอบการใช้งาน mysql_db_query น่าจะลองทดสอบดูนะครับแล้วเอาผลมาแจ้งกัน อย่าปล่อยให้ความสงสัยผ่านไปเฉยๆ โดยไม่ลงมือทำอะไรเลย ลองดูตัวอย่างแนวคิการทดสอบ benchmark



จริงๆแล้ว mysql_db_query ถูกออกแบบมาด้วยจุดประสงค์ที่แตกต่างจาก mysql_query ครับ เนื่องจาก



mysql_query ถูกออกแบบมาเพื่อใช้ในการ query ตามปกติ โดยการ query ภายในฐานข้อมูลเดียวกัน

mysql_db_query ถูกออกแบบมาเพื่อใช้ในการ query ข้อมูลจากฐานข้อมูลอื่น ภายใน Server เดียวกัน



จะเห็นว่า ทั้ง 2 ฟังก์ชั่นมีจุดประสงค์ต่างกัน ดังนั้นการใช้งานฟังก์ชั่น ตามวัตถุประสงค์ของมัน น่าจะเหมาะสมกว่า ซึ่งตามแนวความคิดของคุณก็น่าจะถูกต้อง (แต่จะดีกว่าถ้าจะยืนยันความคิดด้วย ผลการทดสอบ)
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^