|
หัวข้อ: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: zerohate ที่ 16 มกราคม 2009, 19:57:49 มีข้อมูลในดาต้าเบสเยอะมากๆ ประมาณ 1 แสน record ได้ครับ แต่ละ record มีชื่อฟิลล์ id, title, detail
ผมอยากจะดึงข้อมูลมาโชว์หน้าละ 100 record จะเขียนโค๊ตยังไงให้ดึุงข้อมูลได้เร็วครับ เพราะตอนนี้ใช้ limit 0, 100 แต่มันค่อยข้างช้า มีวิธีอื่นแนะนำไหมครับ ขอบคุณครับ หัวข้อ: Re: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: Moha ที่ 16 มกราคม 2009, 22:00:19 ทำ index หรือยังครับ ช่วยได้เยอะนะครับ
หัวข้อ: Re: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: digitalex ที่ 16 มกราคม 2009, 22:05:27 อยากรุ้เหมือนกัน :'(
หัวข้อ: Re: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: zerohate ที่ 16 มกราคม 2009, 22:07:33 ทำ index หรือยังครับ ช่วยได้เยอะนะครับ ยังไมไ่ด้ทำเลยครับ พอจะแนะนำวิธีได้ไหมครับ ผมลองหาอ่านในเน็ต มันมีแต่การทำ index สำหรับข้อมูลที่เป็นการ where ก็เลย กำลัง งง วิธีอยู่ครับ หัวข้อ: Re: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: lopata ที่ 16 มกราคม 2009, 22:14:34 ตามคุณ moha เลย
โดยทั่วไป indexing ช่วยได้เยอะ สำหรับ table ที่มีข้อมูลมากกว่าหลักพันขึ้นไป ลองดูว่า table นั้นมี index อะไรบ้างใช้ mysql> show index from table_name; ต้องถามว่า paging นั้น ใช้เงื่อนไขอะไรในการแบ่งหน้า เพื่อใช้เป็น where cause ได้อีก ตัวอย่าง id สามารถใช้แบ่ง page ซึ่งสมมุติว่า id มีคุณสมบัติ - auto_increment - เป็น primary key => ซึ่งมันจะมี index โดย default อยู่แล้ว อันนี้คงต้องปรับ query ให้มี where id between start_row and end_row แทน limit start,offset เดิม พอเป็นข้อมูลครับ หัวข้อ: Re: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: figaro ที่ 16 มกราคม 2009, 22:22:34 มีวิธีอื่นเช่นทำเป็น xml หรือไม่ก็ cache query
หัวข้อ: Re: query ข้อมูลเยอะ ยังไงให้เร็วครับ เริ่มหัวข้อโดย: lowprofile ที่ 16 มกราคม 2009, 23:27:31 ลองทำ index ก่อนเถอะครับ วิธีอื่นค่อยว่ากัน ถ้าหลังจากทำแล้วยังช้าอยู่
ถ้ายังไม่ไหวค่อยศึกษาเรื่อง Cache ( ADODB Cache หรือ Pear Cache_Lite ก็ได้ ) และถ้ายังช้าอีกคงมีอะไรผิดปกติแล้วแหละครับ |