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的區別

 

 

 

 

 

 

 

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