Tuesday, February 27, 2018

INSERT Data To DBMS

           ผมได้รับมอบหมาย จากเพื่อให้ลองใช้ Database Management System (DBMS) คือ MySQL กับการทดสอบในครั้งนี้

Image result for mysql


           ผมได้ลองการ Query  โดยการ INSERT ข้อมูลจำนวนมาก ตอนแรกช้ามากเลยใช้ การ LOAD
คือ 
   LOAD DATA LOCAL INFILE 'loaction file' INTO TABLE table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ; 


            ลองกลับไปแก้โค้ด แก้ในส่วน commit โดยปกติโค้ดจะต้องเข้า function และสร้าง object connect mysql ที่เป็นแบบ local variable เพื่อติดต่อกับ DMBS เลยแก้ให้ สร้าง object connect mysql  เป็นแบบ global variable แทนเพราะจะทำการ commit ในตอนจบ ครั้งเดียว

รูป โค้ด INSERT แบบเก่า

รูป โค้ด INSERT แบบใหม่

100 row
1k row
10k row
Old insert
7.3 s
87.2 s
> 30 min
New insert
0.23 s
2.62 s
59.82 s
รูป ตารางเปรียบเทียบโค้ด

Problem/Solution

             การ INSERT ช้ามาก

Decision

แก้โค้ดโดยการสร้าง object connect mysql  เป็นแบบ global variable เพื่อ commit ตอนจบโปรแกรม ครั้งเดียว

No comments:

Post a Comment

AUTO SEND TO EMAIL ** จะใช้ได้เมื่อเป็น USER ที่สมัครสมาชิกเท่านั้น **          ได้ใช้ CronJob ในการจับเวลา ทุกๆ 5 นาทีจะทำการเช็ค ...