请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,关于laravel的mysql百万数据查询的问题

laravel对数据库的查询目前学习下来是三种

但是本质上我觉得其实就两种,

一种是 通过原生态的json多表关联一次多查

第二种是  通过关联 外键查询

如果面对百万或者千万的数据量的时候,我们应该选择哪种,是通过模型表外键关联方法来查,还是通过jion一次多查的方法呢?

目前我觉得是join会比较好,因为是一条sql一次性查完, 但是我对laravel的学习时间不是很久,况且见识比较短浅,所以想问问老师您,

遇到百万千万数据量的时候,在相同的索引条件下哪种比较来的效率高呢?

正在回答 回答被采纳积分+3

1回答

轩脉刃 2018-08-24 14:43:00

百万量级很小的,都行,万千或者亿级别的量级尽量不要使用一次sql连表查询,最大的原因是以后数据库和表拆分考虑,如果以后要分表,那么这种连表sql就都需要改了。比如在我们公司,就不允许用join连表查询语句

0 回复 有任何疑惑可以回复我~
  • 提问者 ericdemon #1
    老师,其实性能的开销是在数据库的连接上是吗,并不是sql查询上吗?
    就是说 单例下我就连接了一下数据库,我接下去查询的3条sql语句其实不会生成多大的性能开销吗?可能这3条sql语句比起复杂的一条join语句,性能都差不多吗。。。
    回复 有任何疑惑可以回复我~ 2018-08-24 14:47:47
  • 轩脉刃 回复 提问者 ericdemon #2
    “性能的开销是在数据库的连接上是吗,并不是sql查询上” 不是这个意思,sql查询一定有性能开销,数据库连接基本上laravel是单例模式,在一个请求中对数据库就一次连接,三条sql查询和一条join查询性能上一定是有差别的。但是很多项目需要考虑个折衷,比如这几ms的查询差别到底是不是care?增加了项目的扩展性不是更好。
    回复 有任何疑惑可以回复我~ 2018-09-02 16:08:54
  • 提问者 ericdemon 回复 轩脉刃 #3
    老师,就是说三条sql的语句比一条join语句的优势就在,如果项目的变动,那么我就更方便的去更改查询内容,而且也更易于查找错误 快速维护
    回复 有任何疑惑可以回复我~ 2018-09-03 09:58:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信