วันอังคารที่ 27 กุมภาพันธ์ พ.ศ. 2561

W6 Big DATABASE file SQlite

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


- link ref node js : https://nodejs.org/api/index.html 
- link ref import csv sqlite : https://sqlite.org/cli.html
- link ref sql language : https://www.w3schools.com/

ไม่มีความคิดเห็น:

แสดงความคิดเห็น