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

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

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

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

กระทู้: 566



ดูรายละเอียด
« เมื่อ: 22 ธันวาคม 2019, 00:21:03 »

ผมสงสัยว่า จะตั้งชื่อฟิว comment หรือ like อยากให้ได้ประสิทธิภาพสูงสุดครับ
โดยส่วนตัวผมชอบ แบบที่ 1 ดูเป็นกลุ่มก้อนดีครับ comment.count หรือ comment.items
แต่ก็ยังอดคิดไม่ได้ว่า แบบไหน จะดีการทำ index ในระยะยาวครับ

// แบบที่ 1 subdocument
post {
  _id: ObjectId(),
  title: '',
  like: { count: 0, items: [คนถูกใจ] },
  comment: { count: 0, items: [คนคอมเม้น] }
}

// แบบที่ 2 root
post {
  _id: ObjectId(),
  title: '',
  like_count: 0,
  like_items: [],
  comment_count: 0,
  comment_items: []
}

เลยอยากปรึกษาพี่ๆ ที่มีประสบการณ์ให้คำแนะนำครับ
การทำ index แบบ subdocument หรือ Multi Key Indexs จะทำให้ประสิทธิภาพลดลงหรือเปล่าครับ

db.post.createIndex({ "comment_items": 1 })
db.post.createIndex({ "comment.items": 1 })
« แก้ไขครั้งสุดท้าย: 22 ธันวาคม 2019, 00:33:18 โดย JumDaiDee » บันทึกการเข้า

สินค้าออนไลน์ https://www.shoppook.com/product | โปรแกรมออนไลน์ : https://appnon.com
My rocket
ก๊วนเสียว
*

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

กระทู้: 370



ดูรายละเอียด
« ตอบ #1 เมื่อ: 22 ธันวาคม 2019, 00:27:22 »

 ติดตามเก็บข้อมูล เพื่อได้ข้อมูลดีๆ

 wanwan003 wanwan003
บันทึกการเข้า

❒¹❴บริการ❵❦
❧①รับยิงโฆษณา Facebook ADS ❴ทุกสาย❵
❒²❴ขาย❵❦❦
❧①Account Facebook ปกติ 1-5+ปี
❧②Account Facebook ADS ที่เคยรันโฆษณา
❧③Account Facebook Business
❥Mrs:Pearl Jiraporn
❥Tell:❍⑥⑤−②⑤❍−⑨①❍⑨
❥IDLine:Pearl_ceo ✠ช่องทางติดต่อหลัก✠
tanat29
ก๊วนเสียว
*

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

กระทู้: 407



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 22 ธันวาคม 2019, 09:09:34 »

โพสใน StackOverFlow เลยครับ
บันทึกการเข้า

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

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

กระทู้: 2,879



ดูรายละเอียด
« ตอบ #3 เมื่อ: 22 ธันวาคม 2019, 11:55:31 »

ถ้าทำ index แล้วในแง่ performance ไม่ต่างกันครับ แต่ส่วนตัวชอบแบบที่ 2 มากกว่า
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
ผมกลับมาแล้ว
Newbie
*

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

กระทู้: 8



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 ธันวาคม 2019, 20:28:42 »

เก็บๆๆๆ
บันทึกการเข้า
gamekittituh
คนรักเสียว
*

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

กระทู้: 134



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 15 กุมภาพันธ์ 2020, 20:54:30 »

ลองศึกษาพื้นฐานง่ายๆใน Doc ของมันดูก่อนครับ ถ้าอย่าง mongoDB เอาไปใช้ทำอะไรถึงจะเหมาะสม แล้ว schema มันทำงานยังไง หรือใช้ Framework/Tools ไหนที่สามารถสร้างได้ อะไรประมาณนั้นครับ 55 จริงๆมันก็มีอีกเยอะนะครับ
บันทึกการเข้า

koballthai
ก๊วนเสียว
*

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

กระทู้: 238



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 15 กุมภาพันธ์ 2020, 21:00:03 »

อยาดรู้เหมือนกันค่ะ ติดตาม
บันทึกการเข้า

mean
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,009



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 16 กุมภาพันธ์ 2020, 12:18:07 »

แบบที่ 2 ทำงานง่ายกว่าครับ
เวลา find max ก็ทำได้ง่ายกว่า
บันทึกการเข้า

AntiquePeanut
Newbie
*

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

กระทู้: 23



ดูรายละเอียด
« ตอบ #8 เมื่อ: 17 กุมภาพันธ์ 2020, 09:33:19 »

มาโหวตแบบที่ 2 อีกเสียงครับผม
บันทึกการเข้า

Life in Japan Personal Blog: https://www.okopanthunderstorm.com/
Japanese Horror Story: https://www.thehauntedbar.com/
BOS
ก๊วนเสียว
*

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

กระทู้: 459



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 17 กุมภาพันธ์ 2020, 09:57:08 »

ผมชอบแบบ1 นะครับ เป็นสัดส่วนดี
แต่คิดว่าแบบ2 น่าจะให้ประสิทธิภาพในการเข้าถึงข้อมูลได้ดีกว่า
บันทึกการเข้า

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