เมื่อ 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 1,360

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



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



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

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



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