mysql查询效率问题?

SELECT*FROM表A,表B,表Cwhereid=1SELECT*FROM表ALEFTJOIN表BLEFTJOIN表Cwhereid=1那种速度和执行效率要快一些呢... SELECT * FROM 表A,表B,表C where id =1
SELECT * FROM 表A
LEFT JOIN 表B
LEFT JOIN 表C
where id =1

那种速度和执行效率要快一些呢
展开
 我来答
知识阅历积累历程

2020-01-12 · 影视爱好者、游戏达人、IT 男
知识阅历积累历程
采纳数:10964 获赞数:6547

向TA提问 私信TA
展开全部

第二种联合查询的效率要快些。

1、第一种SELECT * FROM 表A,表B where id =1交叉连接是每一条记录与另外一个表的每一条记录连接,比如表A有48个字段,表B有35个字段。那么查询出来的数量会是3350条记录。产生了很多垃圾数据。

2、第二种SELECT * FROM 表A LEFT JOIN 表B LEFT JOIN 表C where id =1 不会产生多余的数据。一般联合字段都是主键、外键字段。速度肯定比交叉连接快。

注:例子中两个表的数量是各8万多条。

追问
select * from A a,B b where a.id=b.id and a.name=张三    这种速度要快一些呢?
1)select * from 表A a,表B b where a.id=b.id and a.name =张三

2)select * from 表A a
left join 表B b on a.id=b.id
where a.name=张三
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式