mysql子查询和连接查询_seata和普通XA模式的区别_nacos和eureka对比

mysql子查询和连接查询

首先是in和Exist的区别,in是对内查询的每个结果会去外层表里面进行循环,Exist则是对外层的记录去内层记录里面去遍历,所以如果外查询表比较大的话使用Exists,内查询的表比较大的话使用in。

一 子查询

1 MySQL从4.1版本开始支持子查询,使用子查询进行SELECT语句嵌套查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作

2 子查询虽然很灵活,但是执行效率并不高

3 执行子查询时,SQL语句中进行嵌套了SQL语句, 这就类似于循环了

4 例如有两张表, 我先查一张表,查一次, 然后拿这个结果去筛选查另一张表,查两次

二 连接查询(join)

1 可以使用连接查询(JOIN)代替子查询,连接查询需要建立临时表,,但因为联表操作不需要查询数据, 只需要在联表成新表之后查询一次, 因此其速度比子查询快

2 表关联是可以利用两个表的索引的,如果是用子查询,至少第二次查询是没有办法使用索引的

3 例如两张表, 我先把两张表拼在一起, 不查, 再查拼起来的新表, 查一次
总结:连接查询效率高于子查询!!!

seata和XA模式的区别

 

Nacos和Eureka的区别

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章