MySQL-mysql 单表多次查询和多表联合查询,哪个效率高?

发布于 2017-02-08 01:10:34 字数 121 浏览 1457 评论 3

比如获取一批文章数据,但是文章表某个字段只记录了作者ID,作者的姓名存在另一张用户表里,请问是两表联合一次查询比较快,还是先查文章表,然后计算出包含的作者ID,再去用户表查出满足ID的坐着姓名数组,再将两次获得的数据整合比较快?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清晨说ぺ晚安 2017-07-31 13:46:58

1、联合查询,联合多少张表?
2、单表多次查询,有多频繁?

如果访问量不是非常大的情况下,尽量易用和易理解就好。

如果访问量非常大,就要针对以下四个方面进行分析和优化了
数据库设计
sql语句
数据库参数
恰当的硬件资源

经常查询的字段适当建立索引效率提升明显,
但是注意,这也会增加大量的I/O,影响插入更新和删除的速度。

读写分离和表的水平垂直划分等等都很实用,通过曼日志或者explain很容易检验效果,对比效率。

做web开发,对数据库相关知识还是很有必要深入了解的。

泛泛之交 2017-04-14 04:37:43

对于传统的数据库涉及来说,尽可能减少数据库查询次数。

BUT:

  • mysql 都对处理连接/断开连接,回复小而简单的查询是非常快的
  • 现在的网络已经非常快了,所以多个小的查询对 mysql 来说可能更快一些。

其实整本书都明确表达一个意思,测试测试!做 benchmark!对于自己的数据环境,把两种方式都测试一下,用数据说话。

清晨说ぺ晚安 2017-02-21 03:05:30

如果索引设置好的话,感觉应该是联合查询比较快些。
具体没测试过,平时遇到这种情况,都是直接使用的联合查询。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文