2024-04-07|閱讀時間 ‧ 約 22 分鐘

※ 後端面試考古題(三)

    ※ ORM 是什麼?ORM 的優缺點是什麼?

    1. ORM 是什麼?

    ORM 專用於關聯式資料庫 (relational database)一種叫「物件映射 (object mapping)」 的技術,主要是用程式語言裡的「物件」來包裝資料庫的 SQL (structured query language),讓開發者可以直接使用物件導向的方式操作資料庫,同時也增加程式碼的易讀性與維護性。

    ORM 會再生成 SQL 語句

    ORM 會再生成 SQL 語句


    1. ORM 的優缺點是什麼?

    優點:

    • 提高生產力:使用 ORM 可以簡化資料庫操作的程式碼,減少開發人員撰寫相同或類似的資料存取程式碼的需求,讓開發人員專注於應用程式的邏輯。
    • 提高可維護性:ORM 提供了一個抽象層,使得程式碼更容易維護。
    • 提高抽象性:ORM 把資料庫表格與物件之間的映射關係隱藏起來,使得開發人員不必直接與資料庫打交道。
    • 移植性好:使應用程式更容易地切換和支援不同的資料庫,因為 ORM 通常提供了跨資料庫的支援。
    • 提高安全性:ORM 可以通過防止 SQL 注入攻擊等方式,提高應用程式的安全性。

    缺點

    • 效能問題:由於 ORM 在背後進行了大量的轉換與映射,因此可能會比直接使用原生 SQL 語句慢一些。
    • 複雜性:ORM 本身就是一個複雜的系統,對於新手開發人員來說,學習和理解 ORM 可能需要一些時間。
    • 抽象性問題:ORM 把資料庫與應用程式隔離,因此開發人員可能不能完全了解資料庫的運作方式。
    • 版本問題:不同版本的 ORM 可能有不同的功能和接口,因此在升級時需要注意程式碼的兼容性。
    • 實現上的差異:不同的 ORM 可能有不同的實現方式,因此在選擇 ORM 時需要考慮適合的需求。

    選擇使用 ORM 還是直接操作 SQL 取決於特定應用程式的需求和開發團隊的偏好。需要簡化程式碼,提高生產力和可維護性,就採用ORM 。對資料庫的效能和細節有特殊的需求,就使用原生的 SQL 語句。

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.