ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingทำอย่างไรให้ การใช้ cpu ลดน้อยลง
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ทำอย่างไรให้ การใช้ cpu ลดน้อยลง  (อ่าน 1466 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ไร้อนาคต
ก๊วนเสียว
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 250



ดูรายละเอียด
« เมื่อ: 14 กันยายน 2009, 13:17:28 »

ถ้า table ของผมมี 100,000 record

ถ้าใช้ 1 table 100,000 record เลย

กับแบ่งเป็น 2 table table ละ 50,000 record

อันไหนจะใช้ cpu น้อยกว่ากัน

หรือไม่มีผลใดๆเลย

 Kiss ชี้แนะด้วยครับ
บันทึกการเข้า
Twenty-One
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 335
ออฟไลน์ ออฟไลน์

กระทู้: 11,751



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 14 กันยายน 2009, 14:05:30 »

อย่าง 2 ดีกว่าครับผม  Cheesy
บันทึกการเข้า

# บริการโฮสติ้งขั้นเทพ 24/7 เปิดให้บริการ web hosting มาแล้ว 14 ปี ลูกค้ากว่า 40,000 ราย ให้ความไว้วางใจ
# hosting คุณภาพสูง ดูแลระบบโดย system engineer ประสบการณ์สูง
# host เร็ง แรง ไม่มีล่ม ติดตั้ง cms ฟรี
# vps ราคาถูก 50GB 999 บาท

lopata
ก๊วนเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 324



ดูรายละเอียด
« ตอบ #2 เมื่อ: 14 กันยายน 2009, 14:55:30 »

ขอสวนทางนิดนึง คือ หากต้องการลด CPU Time ต้องใช้ I/O Time เพิ่มขึ้น
ดังนั้น ต้องเป็น 1 table 100krecords

แต่หากถามเรื่องความเร็ว query กรณี return 1 rows จาก 100ks เป็นวิธี split partition เป็น 2 tables ดีกว่า
ทั้งมีและไม่มี index

หากถามผม คงอยากให้เกิด Time CPU  > I/O แต่เมื่อถึงจุดนึง คงต้องมาปรับ trade-off เพื่อให้เกิดการคุ้มค่าสูงสุด
ลองหา tools มาปรับค่า mysql เช่น tuning-primer, phpmyadmin เอง ก็มี recommend เป็นต้น
หรือลองปรับการ call db ให้น้อยลง
ไปละครับ ...

ถ้า table ของผมมี 100,000 record

ถ้าใช้ 1 table 100,000 record เลย

กับแบ่งเป็น 2 table table ละ 50,000 record

อันไหนจะใช้ cpu น้อยกว่ากัน

หรือไม่มีผลใดๆเลย

 Kiss ชี้แนะด้วยครับ

บันทึกการเข้า
PAGE
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 104
ออฟไลน์ ออฟไลน์

กระทู้: 2,368



ดูรายละเอียด
« ตอบ #3 เมื่อ: 14 กันยายน 2009, 14:58:09 »

ยืนตามน้น แบบที่ 2 ครับ
บันทึกการเข้า

สิ่งที่ดีที่สุดในชีวิตคือความสงบ
Twenty-One
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 335
ออฟไลน์ ออฟไลน์

กระทู้: 11,751



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 14 กันยายน 2009, 15:01:51 »

ที่สำคัญอย่าลืมทำ index นะครับ  Cheesy
บันทึกการเข้า

# บริการโฮสติ้งขั้นเทพ 24/7 เปิดให้บริการ web hosting มาแล้ว 14 ปี ลูกค้ากว่า 40,000 ราย ให้ความไว้วางใจ
# hosting คุณภาพสูง ดูแลระบบโดย system engineer ประสบการณ์สูง
# host เร็ง แรง ไม่มีล่ม ติดตั้ง cms ฟรี
# vps ราคาถูก 50GB 999 บาท

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,879



ดูรายละเอียด
« ตอบ #5 เมื่อ: 14 กันยายน 2009, 15:12:03 »

ขึ้นกับความจำเป็นของการแยกตารางครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
pizad_sura
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 108
ออฟไลน์ ออฟไลน์

กระทู้: 5,623



ดูรายละเอียด
« ตอบ #6 เมื่อ: 14 กันยายน 2009, 15:18:58 »

ขึ้นกับความจำเป็นของการแยกตารางครับ

เหอๆ เห็นชื่อเลยเข้ามาถามว่าสคริปอัพรูปแจกมั้ย  Embarrassed
บันทึกการเข้า
morizaki
ก๊วนเสียว
*

พลังน้ำใจ: 45
ออฟไลน์ ออฟไลน์

กระทู้: 499



ดูรายละเอียด
« ตอบ #7 เมื่อ: 14 กันยายน 2009, 16:00:03 »

ถ้าเป็น mysql5 ขึ้นไปก็สบายหน่อยครับ ก็ใช้  1 table เหมือนเดิม แต่ split partition
ทำ index ตามที่ใช้บ่อย เท่านี้ก็เร็วแล้วนะครับ  Smiley ลด cpu แต่พึ่ง i/o ถ้าเป็นเครื่อง server สบาย พวกมี raid (ไม่ใช่ rate นะ Embarrassed)

ปล. กรณีการดึงข้อมูลช้าหรือเร็วขึ้นอยู่กับ sql select ที่มีประสิทธิภาพด้วยนะครับ  Smiley
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์