看板 Soft_Job 關於我們 聯絡資訊
小弟最近在工作上碰上一些狀況,但是因為經歷少 不知道這樣是不是常見的作法,所以來到版上跟各位大大請益 主題開始: 小弟最近剛加入一個新的專案,前面已經有一位同事先開始做了 我們使用 MySQL 和 Flask-SQLALchemy 來操作資料庫 但有兩個地方是小弟不太理解的 第一個部分: 先前的同事沒有使用 SQLAlchemy 的 ORM 功能,所有對 DB 的操作都是使用 RAW SQL 的方式來寫 感覺這樣寫好像執行會比較快? 第二個部分: 將資料拆成多個資料庫來分類,這邊我比較疑惑的是 這樣子做如果要做 JOIN 效能上和 MySQL 備份還原上會不會比較差呢? 之前小弟在使用上都是乖乖照 ORM 的用法和以及把資料庫的資料放在同一個 DB 裡面 所以第一次遇到這樣的做法,不知道專案上這樣是常見的方式嗎? 寫過的不多,希望有能大大分享一下 感謝各位的閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.139.193 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1539947148.A.186.html
rocwild: 手寫SQL一般來講是比較快。如果你的專案對於處理速度有特 10/19 20:06
rocwild: 別的要求的話手寫是有它的好處。ORM主要圖的就是一個方便 10/19 20:06
rocwild: 。 10/19 20:06
alihue: 1. 都用python了,哪個套件效能好好像不是很重要? 10/19 20:09
rocwild: 至於資料庫分開就要看你的需求是什麼了。現在很流行micro 10/19 20:09
rocwild: service設計,但是不代表每個專案都適合那種設計。 10/19 20:09
alihue: 2. 新專案設計跨資料庫是over design,難開發維護 10/19 20:10
qrtt1: SQLAlchemy 預設會開 connection pool 比自己直接使用特定 10/19 20:41
qrtt1: 的 db api driver 會方便些。 10/19 20:42
ripple0129: 分資料庫效能更差的話沒人會去分了,還不能join搞自己 10/19 20:54
ripple0129: 何苦,當然是為了效能。SQLAlchemy model可以寫哪個 10/19 20:54
ripple0129: 資料庫哪個table,底層自己會幫你處理connection蠻方 10/19 20:54
ripple0129: 便的 10/19 20:54
vn509942: 適當使用ORM避免一堆注入的問題 10/19 21:25
iamshiao: 1、會比較快 2、會比較差,所以怎麼切很重要 10/21 14:02