เชี่ยวชาญประเภท JSONB ของ PostgreSQL ในบทความเดียว
เรียนรู้วิธีใช้ประเภท JSONB ของ PostgreSQL เพื่อสต็อก ถาม และจัดการข้อมูล JSON ได้อย่างมีประสิทธิภาพ
ในพัฒนาซอฟต์แวร์ยุคใหม่ การจัดการและจัดเก็บข้อมูลที่ไม่เป็นโครงสร้างกำลังกลายเป็นสิ่งที่พบได้บ่อยขึ้น ประเภท JSONB ของ PostgreSQL ให้เครื่องมือที่มีประสิทธิภาพสำหรับนักพัฒนาในการสต็อกและถามข้อมูล JSON ได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะเจาะลึกแนวคิดและการใช้งานประเภท JSONB และสาธิตคุณสมบัติที่ทรงพลังผ่านตัวอย่างโค้ดเฉพาะ
JSONB คืออะไร?
JSONB เป็นประเภทข้อมูลของ PostgreSQL ที่จัดเก็บข้อมูล JSON ในรูปแบบไบนารี ซึ่งต่างจากประเภท JSON ปกติ JSONB มีประสิทธิภาพมากกว่าในงานสอบถามและการจัดการ มันรองรับตัวดำเนินการและฟังก์ชันที่หลากหลายที่ทำให้การจัดการข้อมูล JSON ง่ายขึ้น นอกจากนี้ JSONB ยังรองรับดัชนีหลายประเภท ได้แก่ ดัชนี B-tree, Hash, GIN, และ GiST ทำให้ประสิทธิภาพการสอบถามดีขึ้นไปอีก
การสร้างประเภท JSONB
การสร้างตารางที่มีประเภท JSONB
ก่อนอื่น มาสร้างตารางที่มีคอลัมน์ JSONB กัน สมมติว่าเรามีตาราง products
เพื่อจัดเก็บข้อมูลผลิตภัณฑ์ โดยรายละเอียดของผลิตภัณฑ์จัดเก็บโดยใช้ประเภท JSONB
การแทรกข้อมูล JSONB
เราสามารถแทรกข้อมูล JSON ลงในฟิลด์ JSONB โดยใช้คำสั่ง INSERT
ง่าย ๆ
การสอบถามข้อมูล JSONB
การดึงค่าออกจากฟิลด์ JSONB
เราสามารถใช้ตัวดำเนินการ ->>
เพื่อดึงค่าข้อความจากฟิลด์ JSONB ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูลแบรนด์ของผลิตภัณฑ์
การดึงค่าซ้อนด้วย JSONB
เราสามารถใช้การผสมผสานของตัวดำเนินการ ->
และ ->>
เพื่อดึงค่าที่ซ้อนกันในโครงสร้าง JSON ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูล CPU ของผลิตภัณฑ์
การดึงค่าด้วยเส้นทาง JSONB
ด้วยการใช้ตัวดำเนินการ #>>
เราสามารถดึงค่าจากเส้นทางที่เจาะจงภายในข้อมูล JSON ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูลสตอเรจ
การใช้ตัวดำเนินการ @>
สำหรับการสอบถามการครอบคลุม
ตัวดำเนินการ @>
ตรวจสอบว่าออบเจ็กต์ JSONB หนึ่งครอบคลุมอีกออบเจ็กต์หนึ่ง ตัวอย่างต่อไปนี้แสดงวิธีสอบถามผลิตภัณฑ์ของแบรนด์เฉพาะ