作者windylam (风岚)
看板Soft_Job
标题[请益] SQL在专案上的使用方式和资料库设计
时间Fri Oct 19 19:05:45 2018
小弟最近在工作上碰上一些状况,但是因为经历少
不知道这样是不是常见的作法,所以来到版上跟各位大大请益
主题开始:
小弟最近刚加入一个新的专案,前面已经有一位同事先开始做了
我们使用 MySQL 和 Flask-SQLALchemy 来操作资料库
但有两个地方是小弟不太理解的
第一个部分:
先前的同事没有使用 SQLAlchemy 的 ORM 功能,所有对 DB 的操作都是使用 RAW SQL
的方式来写
感觉这样写好像执行会比较快?
第二个部分:
将资料拆成多个资料库来分类,这边我比较疑惑的是
这样子做如果要做 JOIN 效能上和 MySQL 备份还原上会不会比较差呢?
之前小弟在使用上都是乖乖照 ORM 的用法和以及把资料库的资料放在同一个 DB 里面
所以第一次遇到这样的做法,不知道专案上这样是常见的方式吗?
写过的不多,希望有能大大分享一下
感谢各位的阅读
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.227.139.193
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1539947148.A.186.html
1F:→ rocwild: 手写SQL一般来讲是比较快。如果你的专案对於处理速度有特 10/19 20:06
2F:→ rocwild: 别的要求的话手写是有它的好处。ORM主要图的就是一个方便 10/19 20:06
3F:→ rocwild: 。 10/19 20:06
4F:推 alihue: 1. 都用python了,哪个套件效能好好像不是很重要? 10/19 20:09
5F:→ rocwild: 至於资料库分开就要看你的需求是什麽了。现在很流行micro 10/19 20:09
6F:→ rocwild: service设计,但是不代表每个专案都适合那种设计。 10/19 20:09
7F:→ alihue: 2. 新专案设计跨资料库是over design,难开发维护 10/19 20:10
8F:→ qrtt1: SQLAlchemy 预设会开 connection pool 比自己直接使用特定 10/19 20:41
9F:→ qrtt1: 的 db api driver 会方便些。 10/19 20:42
10F:推 ripple0129: 分资料库效能更差的话没人会去分了,还不能join搞自己 10/19 20:54
11F:→ ripple0129: 何苦,当然是为了效能。SQLAlchemy model可以写哪个 10/19 20:54
12F:→ ripple0129: 资料库哪个table,底层自己会帮你处理connection蛮方 10/19 20:54
13F:→ ripple0129: 便的 10/19 20:54
14F:推 vn509942: 适当使用ORM避免一堆注入的问题 10/19 21:25
15F:推 iamshiao: 1、会比较快 2、会比较差,所以怎麽切很重要 10/21 14:02