详细信息 您现在的位置是:首页 > 数据库

多表查询时要知道的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时间,提高了并发性。



站点信息

  • 电话:15226178738
  • QQ:1697915848
  • 邮箱:1697915848@qq.com