เล่นไป บ่นไป : MySql

Posted by PunNeng, Sun Feb 25 00:06:00 UTC 2007

AMp เขียนครับ

...อุตส่าห์หลงปลื้ม mysql ตั้งนานว่าทั้งฟรีทั้งดี แถมยังเป็นรองแค่ oracle อีกต่างหาก (ใน whitepaper ที่ mysql อวดไว้) สงสัยผมคงต้องคิดใหม่ละ เพราะยิ่งเล่น ก็ยิ่งรู้สึกว่ามันตันๆ ในหลายๆ อย่าง ทั้งในเรื่องการใช้งานและประสิทธิภาพ (หรือผมใช้งานมันผิดประเภทหว่า?)

- mysql ไม่มี session temporary table ใครที่เคยเล่น mssql จะรู้ว่ามันสามารถทำ #table ที่เป็น session temporary table ได้ ทำให้การ process งานใน store ทำได้คล่องตัวมาก เพราะ session temporary table นี้มันจะเห็นและใช้งานได้เฉพาะ connection นั้นๆ ไม่เกี่ยวกับ connection อื่นๆ ต่างกับ mysql ที่ถึงแม้จะมี memory engine แต่ก็ต้องสร้างรอไว้ ไม่สามารถสร้างแยกตาม connection ได้ ถ้า mysql มี #table ล่ะก็ น่าจะมันส์ขึ้นอีกเยอะ

- mysql เปราะจริงๆ เนื่องจากผมเห็นมันโฆษณาว่าเป็นรองแค่ oracle ก็เลยลองซะหน่อย ทำ select แบบ cross join กับข้อมูล 5 ล้านเรคอร์ด ... ผลน่ะหรอ .... เครื่องแทบค้าง อันนี้เป็นเพราะว่าเครื่องผมไม่แรงพอ แต่พอผมปิด process ของ mysql แล้วเปิดใหม่อีกรอบเท่านั้นแหละ ... แม่เจ้าาา ... DB ที่ใช้ทดสอบพังไปเลย เข้าใช้งานไม่ได้อีกเลยครับ แล้วแบบนี้ ถ้าใช้ๆ งานอยู่ แล้วเครื่องค้างขึ้นมา มิซวยแย่หรอเนี่ย - -'

- stored procedure ยังพัฒนาไม่เต็มที่? ปกติถ้าเขียน sp (ย่อจาก stored procedure) มันจะช่วยให้ query ได้เร็วขึ้น เพราะมีการทำ execution plan ไว้ตั้งแต่ตอน compile sp แล้ว แถมไม่ต้องเสียเวลาขนข้อมูลไปๆ มาๆ ระหว่าง client ด้วย แต่ที่ผมลองกับ process การคำนวนเรื่องความใกล้เคียงของกล้องดิจิตอลที่ใช้งานจริงใน focusshot.com มันกลับอืดยิ่งกว่าเดิมซะอีก แถมเล่นซะเครื่องแทบค้าง ทั้งๆ ที่ก่อนหน้านี้ process นี้เขียนด้วย php ก็รันได้ปกติ ไม่ถึงกับทำให้เครื่องค้างแต่อย่างใด (แค่อืดเล็กน้อย) ตอนนี้ชักเริ่มสงสัยละว่าเป็นที่ผมเขียนไม่ดี หรือว่า sp ใน mysql ยังพัฒนาไม่เต็มที่กันแน่ (ตอนเครื่องค้างขณะรัน sp ที่ว่านี้ ผมก็ปิด process ด้วยการเรียก stop service ตามที่มันควรจะเป็น (คราวที่แล้วปิดถึกๆ ด้วย task manager) ปรากฏว่า DB ก็พังเหมือนเดิม เวรจริงๆ - แต่บางทีก็ไม่พัง เสี่ยงดวงเอา)

- อยากได้ tool ของ mysql อย่าง ms query analyzer จัง ทีแรกก็ไม่ได้คิดอะไรหรอกครับ เรื่อง tool ของ mysql เนี่ย มีให้ใช้ฟรีๆ ก็ใช้ไปเหอะ แต่พอได้เล่น query analyzer ของ mssql แล้ว ก็รู้สึกว่า มันใช้งานได้คล่องดี คีย์ลัดก็ไม่ต้องกดมาก ในขณะที่ tool ทางฝั่ง mysql กว่าจะเขียนโค้ด กว่าจะรัน ไม่ทันกินจริงๆ (navicat ถ้าจะรัน selected command ต้องกด ctrl+shift+r ... ทำไมมันไม่ทำให้กด F5 เหมือน query analyzer ฟะ กดบ่อยๆ เมื่อยมือนะเนี่ย - -*)

...ก็นะ ถึงจะบ่นๆ แต่ก็ใช้ mysql ต่อปายยย เหอๆ

ป.ล. หลังจากที่บ่นไปข้างบนแล้ว ก็ลองไปเขียน process คำนวณความใกล้เคียงใหม่อีกรอบ คราวนี้ใช้ TActiveRecord ของ Prado ปรากฏว่า ทำงานได้ช้ามากๆ (แต่เครื่องไม่ค้าง) ข้อมูล 1.2 ล้านเรคอร์ด คาดว่าน่าจะใช้เวลาเกิน 1 ชั่วโมง ก็เลยจำใจ ต้องเล่นบทไถนา เขียนด้วย native php เหมือนเดิม ปรากฏว่าใช้เวลาไม่ถึง 10 นาที (ไม่กล้าเอาไปรันที่โฮสจริงเลย ให้ตายดิ - -')

ป.ล.2 กลับมาคิดๆ เรื่อง sp ใน mysql ที่เล่นซะเครื่องค้าง อาจจะเป็นไปได้ว่า sp เร็วจริง ไม่มี bottle neck เรื่อง network เข้ามาเกี่ยว ก็เลยสูบ cpu ได้เต็มที่ แต่ cpu รับไม่ไหว เลยกลายเป็นว่า เครื่องค้าง และทำงานช้ากว่าเดิม

ป.ล.3 ตอนนี้ focusshot.com เป็นผีไร้ศาลอยู่ครับ ไหนๆ ก็ไม่มีศาลละ เลยนั่งทำใหม่ด้วย prado ซะเลย

Filed Under: General | Tags: database mysql

Comments

Have your say

A name is required. You may use HTML in your comments.




codegent: we're hiring