W6 Big DATABASE file SQlite
ใช้ insert จาก JS
ผลจาก Insert 100000 rows
ใช้เวลานานเกินไปเลยเปลี่ยนมา import CSV แทน
ทำโปรแกรม generate CSV
ทำ การ Import CSV ได้ แค่ 50 M rows ก็ คอมค้าง ที่ 16 M ใช้เวลานานประมาน 6-8 นาที
เมื่อ file มีขนาดใหญ่ต้องใช้ command ที่ 250M rows ยังไม่มีปัญหา import ประมาน 6-8 นาที
ลอง Query เมื่อมีข้อมูลใน DB เยอะ โดยใช้ JavaScript
100000 rows ( 643 ms )
1000000 rows ( 6214 ms ~ 0.6 s)
10000000 rows เกิด Error เลย ใช้ ตัวอื่น
ลอง Query เมื่อมีข้อมูลใน DB เยอะ โดยใช้ DB browser
ลอง Query เมื่อมีข้อมูลใน DB เยอะ โดยใช้ command
What have you done/learned
- รู้ว่าเมื่อมีข้อมูลเยอะจะเกิดอะไรขึ้น เช่น คอมช้าลง คอมค้าง
Problem/Solution
- คอมช้าลง คอมค้าง แก้ตามสถานการ
- generate csv เวลาใช้คำสั่ง write ลง csv ได้ไม่เกิน 5 Mบรรทัด แล้ว เกิดการ ram ไม่พอ แก้ไขโดย ใช้ append ทีละ 5ล้านเลือยๆ จนครบ 200M
Decision
- ตัดสินใจ ใช้การ import CSV
Related Info/link/reference