1 doc 1 relate vs. 1 doc array mongodb

MongoDBวันนี้จะมาแชร์ความรู้เกี่ยวกับ Mongo DB บ้างไม่ได้เขียนอะไรที่เป็นสาระมานาน (ฮา) โดยวันนี้จะพูดเรื่องการออกแบบการเก็บข้อมูลแบบง่ายๆที่ทำให้ต้องชั่งใจเมื่อเราต้องการใช้ในการเช็คว่าข้อมูลนี้สัมพันธ์กัน เรามาดูกันเลยดีกว่า

ปัญหา

เมื่อเราต้องการจะเก็บค่าเช่น ร้านค้า a มีลูกค้ากี่คน แล้วหากลูกค้าคนดังกล่าวเข้ามาหน้าร้าน a ต้องแสดงสถานะว่าเป็นสมาชิกของร้าน a จากโจทย์ที่กำหนดมาเราจะเลือกเก็บข้อมูลอย่างไรดีระหว่างเก็บข้อมูลซ้ำๆกันหลายๆ doc เช่น

{ a : ก },{ a : ข },{ a : ค } ...

หรือว่าเราควรจะเก็บแบบนี้กันแน่
{ a : [ก,ข,ค, ... ] }

เราได้ทดสอบด้วยข้อมูล 100,000 doc การเก็บข้อมูลแบบ array จากที่ทดสอบมานั้น เราจะได้คำตอบว่าเวลาค้นหาแบบที่เก็บ array เร็วกว่าแต่ไม่ได้มากเท่าไรต่างกันแบบ 0.0003 ประมาณนี้คือแทบเรียกได้ว่าไม่ต่างกัน แต่มันจองพื้นที่จัดเก็บใน Harddisk เยอะกว่ามาก เรียกได้ว่า 3 – 4 เท่าตัวเลยในการเก็บแบบ array เพราะฉะนั้นหากต้องการใช้การเก็บแบบง่ายๆเช็คไม่ยากอย่างกรณีในตัวอย่างก็สามารถทำได้ครับ

ถ้าคุณชอบบทความในเว็บนี้ และอยากสนับสนุนเรา เพียงแค่คุณสมัครรับข่าวสารด้านล่างจะได้รับสิทธิ์พิเศษก่อนใคร เราสัญญาว่าจะส่งบทความที่เป็นประโยชน์ต่อคุณอย่างแน่นอนครับ

Loading

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Message us

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ปฎิเสธทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้ที่จำเป็น

    คุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

บันทึก