 |
ใครมีวิธีการค้นหาข้อมูลจาก 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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|