A-AA+then

การ Import Text file หลายหมื่น Record

1,483
การ Import Text file หลายหมื่น Record ด้วย PHP เรามีวิธีการจัดการอย่างไรครับ
ให้สามารถที่จะ Import ได้โดยไม่เกิดปัญหาครับ

2 ความคิดเห็น

555+++

ตอบตรงๆ ก้เขียนให้ถูก...

จะทำงานมากหรือน้อยก็มีหลักการเดียวกันครับ ทำงานน้อย แล้วผิดก็มีค่าพอๆกันกับทำมากๆแล้วผิดครับ

ที่ผมอยากจะสื่อจริงๆก็คือจะทำงานมากหรือน้อยก็ใช้หลักการอย่างเดียวกันครับ ถ้าโค้ดทำงานได้ถูกต้อง จะกี่ล้าน record ก็ทำงานได้

ผมเดาว่าเจ้าของคำถามคงกังวลว่าทำงานนานๆจะเป็นอย่างไร คำตอบที่ผมเคยเจอคือ "รำคาญครับ" อะไรที่ต้องคอยนานๆให้ความรู้สึกไม่ดีกับคนทั้งนั้น ยกตัวอย่างเช่น การอัปโหลดไฟล์ขนาดใหญ่ รอไปเถอะเป็นนานสองนานกว่าจะอัปโหลดเสร็จ ซึ่งปัญหาที่แท้จริงไม่ได้อยู่ที่ script แต่อยู่ที่ผู้ใช้เองมากกว่า ซึ่งไม่ชอบรอ ทางออกทั่วๆไปก็คือ แสดงความคืบหน้าของงานให้รู้

การทำงานขนาดใหญ่นานๆโดยทั่วไป มี 2 ปัญหาหลักๆที่มักเจอ คือ
1. time out แก้ได้โดยการเพิ่ม set_time_limit(0); ที่ตอนต้นๆไฟล์
2. หน่วยความจำไม่พอ จริงๆ แก้ได้โดยการออกแบบที่ดี ใช้หน่วยความจำและ ทำลายอย่างเหมาะสมก็ช่วยได้ (แนะนำ) หรือแก้ที่ปลายเหตุ ด้วยการเพิ่มหน่วยความจำ ini_set('memory_limt', '1024M');

ที่เหลือส่วนใหญ่ก็จะเป็นปัญหาอันเกิดจากการรอคอยของผู้ใช้ละครับ ซึ่งค่อนข้างน่ากลัวกว่า เช่น การอัปโหลดไฟล์ขนาดใหญ่ รอนาน....จนไม่รู้ว่ามันทำงานหรือไม่ และเสี่ยงปิดหน้าเว็บไปในที่สุด ซึ่งอาจทำให้มีปัญหาได้ ทางออกของปัญหานี้โดยทั่วๆไปคือการจำกัดขนาดที่ยอมรับได้แค่ขนาดหนึ่งก็พอครับ 
1

ขอบคุณมากๆครับ จะนำความรู้ที่ได้ไปใช้ในการทำงานครับผม
2
^