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

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

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

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

กระทู้: 910



ดูรายละเอียด เว็บไซต์
« เมื่อ: 30 มกราคม 2013, 16:51:52 »

กรณีที่เราต้องการทำ multisite

ในตาราง innodb 1ตาราง จะมีข้อจำกัด 64TB

ถ้าทำโดยใช้ตาราง 1 ชุดต่อ 1 site เหมือนอย่าง wordpress ข้อด้อยของการทำ multisite แบบนี้คืออะไรครับ?
ตารางมากๆจะ query อืด?

ถ้าเทียบกับมีตารางแค่ชุดเดียว แต่แยก multisite ด้วย field site_id
อย่างไหนจะรองรับข้อมูลได้มากที่สุด และทำงานได้รวดเร็วที่สุดเมื่อมีข้อมูลจำนวนมหาศาลอยู่ในนั้นครับ?

ขอบคุณล่วงหน้า
บันทึกการเข้า

MapTwoZa
ก๊วนเสียว
*

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

กระทู้: 366



ดูรายละเอียด
« ตอบ #1 เมื่อ: 30 มกราคม 2013, 17:27:03 »

1.ไม่รู้ครับ ไม่น่าต่างกันเท่าไร อยู่ที่การทำ index + memory ของ mysql + ขนาด database ให้มันพอดีกัน

2.แต่ผมว่าถ้ารวมแล้วมีโอกาสข้อมูลเกิน หรือเข้าใกล้ max ก็แยกเถอะครับ

3.ถ้าปริมาณข้อมูลมากๆ มันต้องมีตัวกลางระหว่าง app กับ database ครับ
ใน PHP แนะนำ Doctrine2 + php cache
ใน Java ก็ JPA/Hibernate
บันทึกการเข้า

Good code quality Developer Cheesy
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 30 มกราคม 2013, 17:32:46 »

คำตอบของการรองรับข้อมูลแบบมหาศาล DB เดียวเอาไม่อยู่ครับ มันต้องใช้ระบบ Multiple Database ครับ

ส่วน innodb ผมไม่แนะนำครับ ยังไงก็ยังแนะนำ MyISAM เพราะเร็วกว่า

หากข้อมูลเร้าเหมือนระบบธนาคาร อะไรก็ว่าไปอย่าง มันไม่ได้มีความจำเป็นที่จะต้องใช้ถึงขนาด INNODB ครับ
บันทึกการเข้า

MapTwoZa
ก๊วนเสียว
*

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

กระทู้: 366



ดูรายละเอียด
« ตอบ #3 เมื่อ: 30 มกราคม 2013, 17:55:05 »

เพิ่มเติมให้เรื่อง innodb vs myisam

สิ่งที่ innodb มี แต่ myisam ไม่มี คือ transaction + row locking + foreign key ครับ

--------------------
edit เพิ่มเติม

myisam เร็วกว่าในการ read
innodb ไวกว่าในเรื่องการ write
innodb มี transaction + locking + foreign key

สรุปคร่าวๆ ควรเลือก myisam ถ้า table นั้นเป็น read heavy
« แก้ไขครั้งสุดท้าย: 30 มกราคม 2013, 18:28:48 โดย MapTwoZa » บันทึกการเข้า

Good code quality Developer Cheesy
vii
Verified Seller
สมุนแก๊งเสียว
*

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

กระทู้: 910



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 30 มกราคม 2013, 23:41:39 »

ขอบคุณครับ เอาไปคนละ +1

ที่ผมใช้ innodb เพราะการติดตั้ง mysql มาเดิมๆ ค่า default เวลาสร้างตารางมันก็เป็นแบบนั้น
ใน cms ใหญ่ๆทั้งหลายมันก็เป็นแบบนั้น ผมเลยเลือกตามเขาครับ เพราะคิดว่าไม่น่ามีปัญหา

ผมได้ค้นหาเพิ่มเติม จนเจอเว็บนี้
http://msdn.microsoft.com/en-us/library/aa479086.aspx
ก็ยังคงไม่ค่อยแน่ใจนัก เขาก็เขียนข้อดีข้อเสียไว้เยอะเลยของแต่ละแบบ
เอามาฝากเผื่อใครๆอยากได้ความรู้เพิ่มครับ
บันทึกการเข้า

iLhay
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 4,371



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 31 มกราคม 2013, 01:38:19 »

อาการของเว้ปมันไม่เหมือนกันมั่งฮะ

innodb เชิง server ออกจะปรับค่ายากกว่า MyISAM เยอะพอสมควรนะครับ

แต่ที่ผมเจอมา MyISAM ยังไงก็นิ่งกว่า InnoDB ถ้าเว็ปทั่วไป แรมหายน้อยดี

ถ้าจะทำ multisite ชั่งใจดีๆว่า r/w อันไหนมากกว่าแต่ผมว่ายาก  wanwan004  wanwan004

แต่ยังไงก็ไม่พ้น replication ครับ

ปล. เชื่อผมเถอะ ใช้ MyISAM ไปและเขียน query ดีๆ Infrastructure พวกนี้ปรับเปลี่ยนตาม real case.
บันทึกการเข้า

Wordpress Hosting


Wordpress Hosting เริ่มต้นปีละ 790 บาท NVMe SSD เร็ว 9000MB/s เร็วกว่านี้ไม่มีอีกแล้ว
Cloud Server เริ่มต้นเพียงเดือนละ 159 บาท พร้อมใช้ภายใน 1 นาที ผ่านระบบอัตโนมัติมีทั้ง Linux / Windows / DirectAdmin
สอบถามข้อมูลและแจ้งปัญหา 02-105-4417 ตลอด 24 ชั่วโมง
marus
ก๊วนเสียว
*

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

กระทู้: 467



ดูรายละเอียด
« ตอบ #6 เมื่อ: 31 มกราคม 2013, 09:19:20 »

ลองเล่นพวก nosql ดูรับรองไม่ผิดหวัง
บันทึกการเข้า
supachet2526
สมุนแก๊งเสียว
*

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

กระทู้: 772



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 31 มกราคม 2013, 10:26:38 »

nosql อีกเสียงครับถ้าข้อมูลมากขนาดนั้นนะ
แต่ต้องเขียน logic เองไม่มี relational แต่การเรียกข้อมูลเร็วและสามารถขยายได้ง่ายกว่า
บันทึกการเข้า

รับเขียนเว็บไซต์
บริษัทรับออกแบบเว็บไซต์

ขายบ้านมือสอง

ถ้าคุณลงมือทำในสิ่งที่คุณสนใจอยู่เสมอ อย่างน้อยจะมีคนคนหนึ่งที่พอใจ
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 31 มกราคม 2013, 10:42:45 »

ขอบคุณครับ เอาไปคนละ +1

ที่ผมใช้ innodb เพราะการติดตั้ง mysql มาเดิมๆ ค่า default เวลาสร้างตารางมันก็เป็นแบบนั้น
ใน cms ใหญ่ๆทั้งหลายมันก็เป็นแบบนั้น ผมเลยเลือกตามเขาครับ เพราะคิดว่าไม่น่ามีปัญหา

ผมได้ค้นหาเพิ่มเติม จนเจอเว็บนี้
http://msdn.microsoft.com/en-us/library/aa479086.aspx
ก็ยังคงไม่ค่อยแน่ใจนัก เขาก็เขียนข้อดีข้อเสียไว้เยอะเลยของแต่ละแบบ
เอามาฝากเผื่อใครๆอยากได้ความรู้เพิ่มครับ


ในการสร้างตาราง มันจะเป็น innodb หรือ MyISAM อยู่ที่เราตั้งค่านะครับ
อีกอย่าง CMS ดังๆอย่าง Wordpress, SMF, Joomla ใช้ MyISAM ครับ
บันทึกการเข้า

vii
Verified Seller
สมุนแก๊งเสียว
*

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

กระทู้: 910



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 31 มกราคม 2013, 10:43:11 »

ขอบคุณทุกคนครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์