การเปรียบเทียบประสิทธิภาพของ ORMs

ผู้แต่ง

  • จักรพันธ์ อัตลา นักศึกษา สาขาวิชาคอมพิวเตอร์ศึกษา วิทยาลัยนวัตกรรมด้านเทคโนโลยีและวิศวกรรมศาสตร์ มหาวิทยาลัยธุรกิจบัณฑิตย์, กรุงเทพมหานคร 10210 ประเทศไทย
  • ชัยพร เขมะภาตะพันธ์ ผู้ช่วยศาสตราจารย์ ดร. สาขาวิชาคอมพิวเตอร์ศึกษา วิทยาลัยนวัตกรรมด้านเทคโนโลยีและวิศวกรรมศาสตร์ มหาวิทยาลัยธุรกิจบัณฑิตย์, กรุงเทพมหานคร 10210 ประเทศไทย

DOI:

https://doi.org/10.14456/jcct.2025.16

คำสำคัญ:

การแมปเชิงวัตถุกับฐานข้อมูลเชิงสัมพันธ์, พริซม่า, ไทป์โออาร์เอ็ม, ซีควอไลซ์, การวัดประสิทธิภาพ

บทคัดย่อ

การพัฒนาแอปพลิเคชันยุคใหม่ต้องการการเข้าถึงข้อมูลอย่างมีประสิทธิภาพ โดยเครื่องมือ Object-Relational Mapping (ORM) มีบทบาทสำคัญในการการเขียนคำสั่งในรูปแบบของโครงสร้างข้อมูลแบบเชิงโครงสร้าง ด้วยการจัดการฐานข้อมูลผ่านแนวคิดเชิงวัตถุ งานวิจัยนี้เปรียบเทียบประสิทธิภาพของเครื่องมือ ORM ที่ได้รับความนิยมและใช้งานเครื่องเหล่านี้ ได้แก่ Prisma, TypeORM และ Sequelize ซึ่งใช้งานร่วมกับ PostgreSQL ภายใต้สภาพแวดล้อม Docker และภาษา TypeScript โดยครอบคลุมความสัมพันธ์ของตาราง 4 ประเภท ได้แก่ Single Table, One-to-One, One-to-Many และ Many-to-Many การประเมินประสิทธิภาพพิจารณาจากเวลาในการตอบสนอง การใช้หน่วยความจำ และหน่วยประมวลผลกลาง ผลการทดลองจึงได้พบว่ายังไม่มีเครื่องมือใดที่ดีที่สุดในทุก ๆ ด้าน เนื่องจากแต่ละเครื่องมือมีจุดเด่นและข้อจำกัดแตกต่างกัน งานวิจัยนี้จึงมุ่งหวังที่จะให้ข้อมูลเชิงลึกแก่ผู้พัฒนาในการเลือกใช้ ORM ให้เหมาะสมกับความต้องการของโครงการ และช่วยเพิ่มประสิทธิภาพในการจัดการฐานข้อมูลในกระบวนการพัฒนาแอปพลิเคชันสมัยใหม่

Downloads

Download data is not yet available.

เอกสารอ้างอิง

Attala, J. (2025). Comparing-Performance-ORM-typescript-with-PostgreSQL [Dockerfile]. https://github.com/Jakkapan-a/Comparing-Performance-ORM-typescript-with-PostgreSQL.

Chen, T.-H., Shang, W., Jiang, Z. M., Hassan, A. E., Nasser, M., & Flora, P. (2016). Finding and Evaluating the Performance Impact of Redundant Data Access for Applications that are Developed Using Object-Relational Mapping Frameworks. IEEE Transactions on Software Engineering, 42(12), 1148-1161. https://doi.org/10.1109/TSE.2016.2553039.

Güvercin, A. E., & Avenoglu, B. (2022). Performance Analysis of Object-Relational Mapping (ORM) Tools in .Net 6 Environment. Bilişim Teknolojileri Dergisi, 15(4), 453–465. https://doi.org/10.17671/gazibtd.1059516.

Marchuk, Y., Dyyak, I., & Makar, I. (2023, September 26-28). Performance Analysis of Database Access: Comparison of Direct Connection, ORM, REST API and GraphQL Approaches. 2023 IEEE 13th International Conference on Electronics and Information Technologies, 174–176. https://doi.org/10.1109/ELIT61488.2023.10310748.

Monster Connect. (n.d.). Relational Database. https://monsterconnect.co.th/relational-database. (In Thai)

Node.js. (n.d.). Process. https://nodejs.org/api/process.html?utm_source=chatgpt.com.

Prisma. (n.d.a). Introspection for PostgreSQL in a TypeScript Project. https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-typescript-postgresql.

Prisma. (n.d.b). Type Safety. https://www.prisma.io/docs/orm/prisma-client/type-safety.

Renovate. (2025). Model Basics. Sequelize. https://sequelize.org/docs/v6/core-concepts/model-basics.

TypeORM. (n.d.). Entities. https://typeorm.io/docs/entity/entities.

Vaja, D. D., & Rahevar, M. (2016, December 19-21). Improve Performance of ORM Caching Using In-Memory Caching. 2016 International Conference on Computing, Analytics and Security Trends, 112-115. https://doi.org/10.1109/CAST.2016.7914950.

Zaytsev, S. (2025). Architecture. https://jestjs.io/docs/architecture.

ดาวน์โหลด

เผยแพร่แล้ว

18-08-2025

รูปแบบการอ้างอิง

อัตลา จ., & เขมะภาตะพันธ์ ช. (2025). การเปรียบเทียบประสิทธิภาพของ ORMs. วารสารคอมพิวเตอร์และเทคโนโลยีสร้างสรรค์, 3(2), 201–213. https://doi.org/10.14456/jcct.2025.16