小弟最近在工作上碰上一些状况,但是因为经历少
不知道这样是不是常见的作法,所以来到版上跟各位大大请益
主题开始:
小弟最近刚加入一个新的专案,前面已经有一位同事先开始做了
我们使用 MySQL 和 Flask-SQLALchemy 来操作数据库
但有两个地方是小弟不太理解的
第一个部分:
先前的同事没有使用 SQLAlchemy 的 ORM 功能,所有对 DB 的操作都是使用 RAW SQL
的方式来写
感觉这样写好像执行会比较快?
第二个部分:
将资料拆成多个数据库来分类,这边我比较疑惑的是
这样子做如果要做 JOIN 效能上和 MySQL 备份还原上会不会比较差呢?
之前小弟在使用上都是乖乖照 ORM 的用法和以及把数据库的资料放在同一个 DB 里面
所以第一次遇到这样的做法,不知道专案上这样是常见的方式吗?
写过的不多,希望有能大大分享一下
感谢各位的阅读
作者: rocwild (外国死小孩) 2018-10-19 20:06:00
手写SQL一般来讲是比较快。如果你的专案对于处理速度有特别的要求的话手写是有它的好处。ORM主要图的就是一个方便。
作者:
alihue (wanda wanda)
2018-10-19 20:09:001. 都用python了,哪个套件效能好好像不是很重要?
作者: rocwild (外国死小孩) 2018-10-19 20:09:00
至于数据库分开就要看你的需求是什么了。现在很流行microservice设计,但是不代表每个专案都适合那种设计。
作者:
alihue (wanda wanda)
2018-10-19 20:10:002. 新专案设计跨数据库是over design,难开发维护
作者:
qrtt1 (有些事,有时候。。。)
2018-10-19 20:41:00SQLAlchemy 默认会开 connection pool 比自己直接使用特定的 db api driver 会方便些。
分数据库效能更差的话没人会去分了,还不能join搞自己何苦,当然是为了效能。SQLAlchemy model可以写哪个数据库哪个table,底层自己会帮你处理connection蛮方便的
作者:
iamshiao (CircleHsiao)
2018-10-21 14:02:001、会比较快 2、会比较差,所以怎么切很重要