|
|
|
มีปัญหาเรื่องการค้นหาข้อมูล แล้วช้ามากครับ ..ตอนนี้ผมมีปัญหาเรื่องการค้นหาข้อมูล ประมาณ 400,000 records.. |
|
|
|
|
|
|
|
ลองทำ index ก่อนครับ หรือไม่ก็ต้องเพิ่มเงื่อนไขในการค้นหาข้อมูลเข้าไปเป็นตัวกรองให้เหลือน้อยที่สุด
|
|
|
|
|
Date :
2010-11-02 12:04:56 |
By :
mee079 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำ Index select เฉพาะ field ที่ใช้ ผมรู้แค่เนี้ย
|
|
|
|
|
Date :
2010-11-02 12:12:09 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีการ JOIN หรือเปล่าครับ ปกติ 400,000 Record เริ่มเยอะครับ
|
|
|
|
|
Date :
2010-11-02 13:00:24 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันจะช้าซักหน่อยครับ เข้าไปแก้ที่ php.ini ครับ ที่ c:/windows ตรง query time หรือ limit อะไรสักอย่าง ให้เป็นเวลาหลายๆชั่วโมง ของผม 4 พันล้านกว่าเรคอร์ด หลายชั่วโมง บางทีเป็นวัน
|
|
|
|
|
Date :
2010-11-02 21:00:04 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Database อะไรครับ 4 พันล้าน record นี่มันมหาศาลมาก ๆ ครับ
|
|
|
|
|
Date :
2010-11-02 21:03:12 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมทำของผมเองอะครับ เหอะๆ ประมวลผลคำศัพท์ภาษาอังกฤษอะครับ ได้อะไรยังไง ก็เก็บลงดาต้าเบสอย่างเดียว
คิดอะไรที่ซ้ำซ้อนไม่เป็นอะครับ เลยต้องทำอย่างนั้น เหอะๆ
|
|
|
|
|
Date :
2010-11-02 21:06:46 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//ตัวอย่าง ที่เจอปัญหาแบบนี้ ใช้วิธี สร้างtable สำรองช่วย
//tbl_paper ข้อมูล ประมาณ นี้มีข้อมูลเข้า วันละ 1200 ราย เดือนละ ประมาณ 36,000 ราย ปีละ 432,000 ราย
// 5 ปี มี 2,160,000 ราย
สมมุติ จะค้นชื่อ อภิสิทธิ์ เมื่อ 5 ปี เมื่อ ผ่านมา ถ้าค้นมูลย้อนหลังที่ table tbl_paper server ช้าแน่นอน
กำหนดตัวแปรค้นหามา
สมมุติ
$field_search ='อภิสิทธิ์';
สร้าง table ชั่วคราว ไว้ ชื่อ tbl_temp เหมือน tbl_paper
ทุกครั้งให้ลบข้อมูลเก่าทั้งหมดทิ้ง
$sql1 ="delete from tbl_temp ";
//// copy ข้อมูลตามเงื่อนไข search มา คือ $field_search
$sql0 =" insert into tbl_temp select * from tbl_paper where name = '$field_search' " ;
////// แล้วจึงค้นข้อมูลและแสดงข้อมูล อย่างไรเสีย ไม่เกิน 20,000 ราย
//ค้นหา เงื่อนไขอื่นก็คล้ายๆกัน
$sql = "SELECT * FROM tbl_temp WHERE $field_search like LTRIM('$search%') order by name ";
ทดลองดูครับ ทำไว้นานแล้วจนลืมหา code เก่าๆมาให้ดูเป็นแนวคิดครับ อาจจะใช้วิธีอืื่นก็ได้ครับ
|
ประวัติการแก้ไข 2010-11-02 22:35:11
|
|
|
|
Date :
2010-11-02 22:31:37 |
By :
p_kokmas |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ทำ index ไปแล้ว เร็วขึ้นมาอีกนิดหนึ่ง แต่โดยรวมยังช้าอยู่ครับ
Join กันประมาณ 6-7 table ครับ
ขอบคุณทุกท่านครับ
|
|
|
|
|
Date :
2010-11-04 09:05:15 |
By :
onizike |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|