[請益] SQL在專案上的使用方式和資料庫設計

看板Soft_Job作者 (風嵐)時間7年前 (2018/10/19 19:05), 編輯推噓4(4011)
留言15則, 6人參與, 7年前最新討論串1/1
小弟最近在工作上碰上一些狀況,但是因為經歷少 不知道這樣是不是常見的作法,所以來到版上跟各位大大請益 主題開始: 小弟最近剛加入一個新的專案,前面已經有一位同事先開始做了 我們使用 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

10/19 20:06, 7年前 , 1F
手寫SQL一般來講是比較快。如果你的專案對於處理速度有特
10/19 20:06, 1F

10/19 20:06, 7年前 , 2F
別的要求的話手寫是有它的好處。ORM主要圖的就是一個方便
10/19 20:06, 2F

10/19 20:06, 7年前 , 3F
10/19 20:06, 3F

10/19 20:09, 7年前 , 4F
1. 都用python了,哪個套件效能好好像不是很重要?
10/19 20:09, 4F

10/19 20:09, 7年前 , 5F
至於資料庫分開就要看你的需求是什麼了。現在很流行micro
10/19 20:09, 5F

10/19 20:09, 7年前 , 6F
service設計,但是不代表每個專案都適合那種設計。
10/19 20:09, 6F

10/19 20:10, 7年前 , 7F
2. 新專案設計跨資料庫是over design,難開發維護
10/19 20:10, 7F

10/19 20:41, 7年前 , 8F
SQLAlchemy 預設會開 connection pool 比自己直接使用特定
10/19 20:41, 8F

10/19 20:42, 7年前 , 9F
的 db api driver 會方便些。
10/19 20:42, 9F

10/19 20:54, 7年前 , 10F
分資料庫效能更差的話沒人會去分了,還不能join搞自己
10/19 20:54, 10F

10/19 20:54, 7年前 , 11F
何苦,當然是為了效能。SQLAlchemy model可以寫哪個
10/19 20:54, 11F

10/19 20:54, 7年前 , 12F
資料庫哪個table,底層自己會幫你處理connection蠻方
10/19 20:54, 12F

10/19 20:54, 7年前 , 13F
便的
10/19 20:54, 13F

10/19 21:25, 7年前 , 14F
適當使用ORM避免一堆注入的問題
10/19 21:25, 14F

10/21 14:02, 7年前 , 15F
1、會比較快 2、會比較差,所以怎麼切很重要
10/21 14:02, 15F
文章代碼(AID): #1RoRgC66 (Soft_Job)