Skip to content
CodingThailand's Blog
CodingThailand's Blog

by โค้ชเอก

  • Home
  • About Me
  • CodingThailand.com
CodingThailand's Blog

by โค้ชเอก

8 ข้อน่ารู้เกี่ยวกับ Drizzle ORM

14/11/202414/11/2024
  1. Drizzle ORM ถูกสร้างเมื่อ 3 ปีที่แล้ว แต่การเติบโตดีมากๆ ดูได้จากยอดดาวน์โหลดบน NPM 8IY[
    https://bestofjs.org/projects/drizzle-orm
  2. จากเว็บ stateofdb จากการสำรวจในปี 2023 พบว่า Drizzle ถูกยกเป็น tool (ORMs) เหนือ Prisma แล้ว (Drizzle อันดับ 2 และ Prisma อันดับ 3)
    https://stateofdb.com/tools/drizzle
  3. เป็น ORM เดียวที่มี query API ทั้งแบบ relational และ SQL-like (เขียนเหมือนภาษา SQL) ดูตัวอย่างโค้ดนี้

แบบ relational (Queries API)
const users = await db.query.users.findMany();

แบบ SQL-like
const result = await db.select().from(users);

  1. ถูกออกแบบมาให้มีขนาดเล็ก มี typesafe (TypeScript) และมีประสิทธิภาพสูง (0 dependencies!)
    ดูการเปรียบเทียบกับ Prisma ที่นี่ https://orm.drizzle.team/benchmarks
    บอกเลยว่าดูดีกว่า Prisma 🙂
  2. Drizzle มี concept ที่ว่า “ถ้าคุณรู้จัก SQL คุณก็จะรู้จัก Drizzle” อย่างที่บอกไปในข้อ 3 ว่าจุดเด่นอีกอย่างของ Drizzle คือมีคำสั่งที่คล้ายกับภาษา SQL ที่หลายคนคุ้นเคยเป็นอย่างมาก ทำให้ไม่ต้องเรียนรู้ใหม่มากนัก สามารถเขียนได้เลย
  3. Output ของ Queries API ของ Drizzle จะเป็น 1 SQL query เสมอ นั่นหมายความว่า เราสามารถใช้พวก serverless database ได้อย่างสบายใจ ไม่ต้องกังวลกับ performance หรือ ต้นทุนการ roundtrip แน่นอนไม่ต้องกังวลกับปัญหา n+1 อีกด้วย
  4. ณ ตอนที่เขียนนี้อาจจะรองรับ driver ของฐานข้อมูลเจ้าดังๆ ไม่มากนัก ตอนนี้มี Postgres, MySQL, SQLite, Supabase และอื่นๆ แต่ทีมก็กำลังจะเพิ่มเข้ามาในเร็วๆ นี้ และเห็นว่า v1 อาจจะมี MariaDB และ SQL Server ตามมา
  5. มี Drizzle Studio ช่วยให้เราสามารถจัดการฐานข้อมูลในโปรเจคได้อย่างสบาย ไม่ว่าจะดู เพิ่ม ลบ แก้ไขข้อมูลครับ

Views: 718

Uncategorized

Post navigation

Previous post
Next post

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

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

Posts ล่าสุด

  • การใช้งาน Prefetching ใน Next.js
  • 14 ข้อคิด เพื่อการเป็น Developer ที่ดีขึ้น จาก “Lee Robinson”
  • เคยเจอ “TypeError: Cannot read property ‘x’ of undefined” หรือเปล่า
  • บันทึกการเขียนเว็บไซต์ใหม่ในรอบ 10 ปี ย้ายมาใช้ Next.js
  • ทำไมการจัดการ Error ใน JavaScript ถึงเป็นเรื่องท้าทาย?

Recent Comments

    หมวดหมู่

    • .NET
    • AI
    • Android
    • Angular
    • Angular 2
    • Coding
    • CSS
    • Database
    • Editor
    • Flutter
    • Git
    • HTML5
    • Ionic 2
    • Ionic 4
    • Ionic Framwork
    • JavaScript
    • Laravel
    • Laravel 5
    • Next.js
    • Node.js
    • PHP
    • PHP 7
    • Plugins
    • React
    • React Native
    • Template
    • Tools
    • TypeScript
    • UI
    • Uncategorized
    • Vue.js
    • XAMPP
    • Yii
    • คอร์สเรียน
    • แรงบันดาลใจ

    Archives

    • July 2025
    • April 2025
    • November 2024
    • October 2024
    • April 2020
    • February 2020
    • August 2019
    • September 2018
    • August 2018
    • February 2018
    • November 2017
    • October 2017
    • August 2017
    • July 2017
    • April 2017
    • October 2016
    • August 2016
    • May 2016

    Tags

    .NET android Angular Angular 2 Atom Coding Coding Standard CSS CSS 3 Datepicker Express.js extensions Git HTML HTML5 Ionic2 JavaScript Laravel5 laravel 5.5 MariaDB Material Design MySQL Node.js npm PHP PHP7 plugins PouchDB recaptcha Restful sail.js template typescript typscript XAMPP Yii2

    ผู้เยี่ยมชม

    • 0
    • 1,818,196
    • 547,569
    • 718
    ©2025 CodingThailand's Blog | WordPress Theme by SuperbThemes