|  | 
	                
  
    | 
	 
        ใครมีวิธีการค้นหาข้อมูลจาก MySQL ใน 1 Database และจำนวน 8 Tables แต่ละ Table มีข้อมูลเกิน 100,000 เรคคอร์ด     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | หลักๆ ที่จะทำให้ค้นหาเร็ว ก็ index ถ้าไม่มี ก็อยู่ที่ cpu และ algorithm ครับ ข้างล่างเป็นตัวอย่าง แค่ group by ก็ใช้เวลา 1วิกว่าๆ แสนกว่าเรคคอร์ด
 
  
 ลองเอา statement มาลงสิครับ เพื่อจะมีคนช่วย optimize ให้
 แค่ให้ภาพมา กว่าจะอ่านแต่ละตารางจบ ขึ้เกียจกันพอดี 5555
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-10-26 11:04:28 | By :
                            NewbiePHP |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ขอบคุณครับที่ให้คำเสนอแนะ 
 แต่ของผมก้อทำตามรูปแบบที่ให้มาครับ
  แต่ข้อมูลยังช้าอยู่ดีครับ 
 รูปแบบของ Model (ช้ามากที่สุด)
 
 mysql_connect("localhost", "root", "");
$dbname = "databased";
//model all 1006 record in warranty_items;
//model all 284131 record in warranty_product_registrations;
$modelname1_1 = "select model from warranty_items group by model order by model asc";
$modelname1_2 = mysql_db_query($dbname, $modelname1_1);
while ($modelname1_3 = mysql_fetch_array($modelname1_2)) {
$modelname2_1 = "select count(model) as md from warranty_product_registrations where model='".$modelname1_3['model']."' and model<>''";
$modelname2_2 = mysql_db_query($dbname, $modelname2_1);
$modelname2_3 = mysql_fetch_array($modelname2_2);
echo $modelname1_3['model']." = ".$modelname2_3['md']."<br />";
}
 ข้อมูลเดียวประมาณ 2 นาทีครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-10-26 13:56:29 | By :
                            suparuark |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ลองทำให้เหลือขั้นตอนเดียวครับ สำหรับการคิวรี่ครับ 
 Code (PHP)
 
 $modelname1_1 = "
SELECT a.model, coalesce( b.c, 0 ) md
FROM (
   SELECT DISTINCT model FROM warranty_items 
) a
LEFT JOIN (
    SELECT model, count(*) c
    FROM warranty_product1_registrations
    GROUP BY model
)b ON b.model = a.model
ORDER BY model
";
$modelname1_2 = mysql_db_query($dbname, $modelname1_1);
while ($modelname1_3 = mysql_fetch_assoc($modelname1_2)) {
      echo $modelname1_3['model']." = ".$modelname2_3['md']."<br />";
}
 
  
 |  
              | 
 ประวัติการแก้ไข
 2015-10-26 17:05:14
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-10-26 16:58:57 | By :
                            NewbiePHP |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เร็วมากครับ ขอบคุณมากๆ นะครับ 
 ความเร็วไม่ถึง 1 วินาที ข้อมูลก้อขึ้นมาทันทีเลย
 
 
  
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-10-27 09:31:29 | By :
                            suparuark |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ยินดีด้วยครับ   
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-10-27 11:03:09 | By :
                            NewbiePHP |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เยี่ยมมากครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-10-27 11:57:45 | By :
                            mr.win |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |