0021 | วิธีนับจำนวนแถว (record) ในตาราง

Sunday, June 15th, 2008 Posted in Database, PHP Coding | No Comments »

ดองไว้นานเชียะ = =' ขออภัยด้วยครับ แบบว่าขี้เกียจเขียน เอ้ย งานยุ่งๆ มหาลัยเปิดเทอมแล้ว ตารางเรียนเห็นแล้วแทบบ้า เอาวันหยุดของตูคืนมา เอาวันหยุดของตูคืนมา T_T เข้าประเด็นเลยดีกว่า ช่วงนี้มีงานประเภทนี้เยอะครับ เห็นแล้วก็เซ็งไอ้คนเขียนเว็บคนเก่าที่ทำระบบมาจริงๆ คุณพี่เขียนไว้อย่างนี้ครับ.... $sql = mysql_query("SELECT * FROM table"); $records = mysql_num_rows($sql); ไอ้อันที่จริงมันก็ไม่ผิดอะไรหรอกครับถ้าจะใช้แบบนี้ เพราะ code มันก็ทำงานได้ปกติสุขดีของมัน แต่... ใครจะรู้มั้ยครับ ว่า mysql มันต้องส่งข้อมูลมากขนาดไหน สมมติว่า ตารางมีขนาด 1 MB การ query นี้จะทำให้ mysql ต้องส่งข้อมูลขนาด 1 MB ให้ client ที่ทำการ query แล้ว client จะเป็นผู้นับจำนวนแถวเอง ลองคิดดูว่าถ้าตารางเราเกิดมีขนาด 10 ...

Tags: , ,

0019 | สารบัญนั้นสำคัญไฉน… (ว่าด้วย MySQL Index)

Wednesday, May 28th, 2008 Posted in Database | 1 Comment »

ดองไว้ตั้งนานแล้วครับ entry นี้ เคยเกริ่นๆ ไว้ตั้งนานแล้วด้วยแหละ เรื่องนี้ถือเป็นเรื่องใหญ่มากๆ ครับในการออกแบบฐานข้อมูลบน MySQL เนื่องด้วยมันจะมีผลต่อความเร็วในการค้นหาข้อมูลมาก ถึงมากที่สุด เคสที่ยังใช้งานน้อยๆ เช่นมีการเรียกใช้แค่ นาทีละไม่ถึงสามสิบครั้ง อะไรอย่างนี้อาจจะไม่ค่อยเห็นผลเท่าไหร่ แต่พอมีการใช้งานเยอะๆ ดูสิครับ... ไม่อยากบรรยายถึงความเละสุดอนาถเลยแหละ ทีนี้ จะดูยังไงว่าเราควรจะสร้างฐานข้อมูลยังไง ออกแบบยังไงให้มีประสิทธิภาพ ตรงนี้ต้องดูการเรียกใช้งานของเราครับ เช่น... อ้อ ลืมไป ยกตัวอย่างไม่ได้ ต้องสร้างตารางก่อน CREATE TABLE users ( id int NOT NULL DEFAULT '0' auto_increment, username varchar(24) NOT NULL DEFAULT '', ...

Tags: , ,