详细信息 您现在的位置是:首页 > 数据库
多表查询时要知道的2点
来源:
发布时间:2020-03-10
1307 人已围观
摘要多表查询就是join联表查询。有的时候多表查询并不适合当前情况,那么就要把其变为单表查询。
多表查询就是join联表查询。有的时候多表查询并不适合当前情况,那么就要把其变为单表查询。
例如联表查询:
查询商品、并且有品牌的信息:
① 联表查询(sql语句可读性高、并发性低、sql语句执行时间长)
数据表:goods/brand
select goods_id,goods_name,b.brand_name from goods g join brand b on g.brand_id=b.brand_id limit 10;
多表查询从各个方面看比单表查询消耗的资源都要多,例如时间、相关资源等。
比如上边联表查询消耗时间为:5s
如果系统访问量非常高,并发性高(多人访问),再考虑到锁机制,那么goods和brand要同时被锁住5秒钟时间,意味着5s钟之内其他人不能访问。
② 单表查询(每个数据表执行时间短、并发性高、增加php代码逻辑)
为了提供系统的并发性,就不要设置联表查询,转而使用单表查询:
select goods_id,goods_name,brand_id from goods limit 10; //3s
select brand_id,brand_name from brand; //3s
最后通过php代码逻辑把两个表的数据显示在一起。
从宏观上看,goods表和brand表的每次操作只被锁住3s时间,提高了并发性。
下一篇: mysql优化之limit优化
站点信息
- 电话:15226178738
- QQ:1697915848
- 邮箱:1697915848@qq.com