A-AA+then

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

1,283
    หากมีการ 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 อันนี้คือผมเดานะครับ หรือ ท่านใจะให้ความกระจ่าง
     
    ผมด้วยนะครับ

1 ความคิดเห็น

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

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

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

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