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

การ Import Text file หลายหมื่น Record ด้วย PHP เรามีวิธีการจัดการอย่างไรครับ

ให้สามารถที่จะ Import ได้โดยไม่เกิดปัญหาครับ
03 มิ.ย. 2554 2 1,529

555+++



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



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



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



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



การทำงานขนาดใหญ่นานๆโดยทั่วไป มี 2 ปัญหาหลักๆที่มักเจอ คือ

1. time out แก้ได้โดยการเพิ่ม set_time_limit(0); ที่ตอนต้นๆไฟล์

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



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

ขอบคุณมากๆครับ จะนำความรู้ที่ได้ไปใช้ในการทำงานครับผม
#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^