sql 语句都是怎么写的?

好像见过的代码都是很多子查询,或者很多连接查询,但是我个人喜欢在一个接口写好几个方法去分别的查询,这有什么优劣之分吗,我要改正写法吗

回答·5
最热
最新
  • 各有优缺点!早以前的系统都喜欢 DB first,这种模式要求开发人员对数据库有很强的编程能力,大部分业务 SQL 语句来实现,笔者之前接触过个系统,有一个存储过程写了 3000 行,这个存储过程很难维护,而且这一个存储过程运行起来,搞得心惊胆战,生怕把数据库搞宕机!Code first 就不一样了,大部分业务用代码实现,维护起来容易点,也会减轻数据库端压力,开发人员对数据库编程能力不是那么高!
  • 看实际情况啊,不能一概而论
  • 综合评估。不要简单用几次 io 来衡量。 不要把 MySQL,pgsql 等当成一个 kv 用 也不要尝试让数据库来承载太多业务和计算。 举例说说: 管理后台,我喜欢连表,能拿到最可靠的数据。实现也简单。应用场景访问量不大,能接受等待。 前端接口,一般会分化两极。读操作或者简单事务,拆成单表的 sql 加 redis 缓存,用前端语言来做计算。核心复杂事务用存储过程纯 db 写起来更舒服。 以上只是编码过程中的个人习惯。实际还需要根据业务具体情况来评估选择。
  • 一次 io 和多次 io 的区别,系统性能最大的瓶颈就是 io
  • 综合考虑,主要考虑数据库性能,然后自己代码逻辑自己可以控制,分开查询不一定是好事,相反会影响 io 吞吐,数据库链接、释放、都是要消耗资源的,而且自己多个单表查询出来在做内存数据处理,不一定能胜过数据库 SQL 的效率,毕竟数据库是处理数据的专家。