หากมีการ 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 Dec 2010 08:43
เรื่องประสิทธิภาพ ผมคงตอบไม่ได้เนื่องจากไม่เคยทดสอบการใช้งาน mysql_db_query น่าจะลองทดสอบดูนะครับแล้วเอาผลมาแจ้งกัน อย่าปล่อยให้ความสงสัยผ่านไปเฉยๆ โดยไม่ลงมือทำอะไรเลย ลองดูตัวอย่างแนวคิการทดสอบ [search]benchmark[/search]



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



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

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



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