ส่วนตัวใช้ WP อยู่ แต่ก็ไม่ชอบใจระบบบางอย่าง และ WP มันมีข้อจำกัดในตัวมันเอง ถ้าจะพัฒนาให้เทียบเท่า joomla หรือ drupal ต้องเขียนโค้ดเพิ่มเข้าไป ใน WP CORE อีกหลายร้อยบรรทัด ซึ่งมันไม่ใช่เรื่องดีเท่าไรนัก
เรื่องดี หรือ ไม่ดี ขอไม่ออกความเห็นละกันนะ
มาพูดถึงเรื่อง query มหาศาล จน DB พังกันดีกว่า
จี้ว่า ส่วนใหญ่จะรู้ว่ามันใส่คำสั่ง
<?php<!--Query Time Start = <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. Query Time End-->?>
เพื่อให้มันแสดงจำนวน query + เวลา ว่ามันใช้ ทั้งหมด กี่ query ใช้เวลาโหลดนานเท่าไร
แต่ว่า มันยังมีวิธีแสดงรายละเอียด query พวกนี้อยู่อีก วิธีนึง
วิธีทำคือ
เพิ่ม คำสั่ง define('SAVEQUERIES', true); ไว้ในไฟล์ wp-config.php
และ เพิ่มคำสั่ง
<?php
global $wpdb;
echo "<!--<pre>";
print_r($wpdb->queries);
echo "</pre>-->";
?>
ไว้ใต้ ไอ้โค้ดข้างบน (ตัวเรียก query ทั้งหมดอะ ทั้ง 2 โค้ดนี้จะต้องอยู่ใต้ wp_footer(); เพื่อให้มันแสดงผลได้ถูกต้อง
ผลมันจะออกมาแบบนี้ (ไฟล์รูป)
1.

2.

กดดูรูปใหญ่เอานะ
จะเห็นว่า รูป 1 เป็นจำนวน query ทั้งหมดที่เรียกออกมา ตามด้วยเวลา และรายละเอียด query ส่วนนึง
ส่วนรูป 2 ให้ดูว่า มันแจง รายละเอียด query เท่ากับ query ทั้งหมดข้างบนพอดี
ทีนี้เราก็มาดูกันว่า ไอ้ query เยอะๆ เนี่ย มันดึงอะไรบ้าง ดึงมาทำไม ใช้ตรงไหนได้ (ใช้ได้ทุกหน้า เพราะใส่ไว้ใน footer.php)
ก็ค่อยๆ ดูไป แล้วดูว่า มันควรจะลดตรงไหนลงก็ไปแก้ตรงนั้น
ส่วนใหญ่ที่เป็นปัญหา query มหาศาล คือ การดึงข้อมูลมาทำ loop ซึ่งธีม บางธีม มันดึงข้อมูลเกินความจำเป็น
ก็ตามไปแก้ให้มันใช้เท่าที่จำเป็น น่าจะลดปัญหา query มหาศาลได้นะ (จริงอยู่ว่า ดู log จาก ทาง host ก็ได้ แต่บางครั้งมันไม่สะดวก ใช้แบบนี้น่าจะแก้ไขได้ง่ายกว่า)
ถ้าเขียนเองหมด ก็น่าจะรู้ว่าต้องแก้ตรงไหนอยู่แล้ว
โปรแกรมเมอร์ ที่เขียนโค้ดมานาน จี้เชื่อว่า เห็น การ query ข้อมูลแล้ว แก้ได้ทุกคนแหละนะ