เมื่อ 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 อันนี้คือผมเดานะครับ หรือ ท่านใจะให้ความกระจ่าง
ผมด้วยนะครับ
จริงๆแล้ว mysql_db_query ถูกออกแบบมาด้วยจุดประสงค์ที่แตกต่างจาก mysql_query ครับ เนื่องจาก
mysql_query ถูกออกแบบมาเพื่อใช้ในการ query ตามปกติ โดยการ query ภายในฐานข้อมูลเดียวกัน
mysql_db_query ถูกออกแบบมาเพื่อใช้ในการ query ข้อมูลจากฐานข้อมูลอื่น ภายใน Server เดียวกัน
จะเห็นว่า ทั้ง 2 ฟังก์ชั่นมีจุดประสงค์ต่างกัน ดังนั้นการใช้งานฟังก์ชั่น ตามวัตถุประสงค์ของมัน น่าจะเหมาะสมกว่า ซึ่งตามแนวความคิดของคุณก็น่าจะถูกต้อง (แต่จะดีกว่าถ้าจะยืนยันความคิดด้วย ผลการทดสอบ)