Mysql中WhereIn和Join的效能比對

2021-08-22 10:32:54 字數 423 閱讀 8525

在mysql中使用wherein和join表效能區別,

在查詢多表的關係的時候,存在兩種查詢方法。

一種是找出對應關係的id,然後根據對應關係的id的集合,到目標表中查詢出結果。

另外一種,是聯立兩張**,進行join查詢。

之前專案中選擇乙個使用了where in 的條件,但是where in 的 list 如果太大,就會導致查詢異常很慢,通常如果list在1000以內,都能在100ms內完成檢索,但是list大於5000的時候,基本上查詢時間接近1s秒鐘。 (這一切都是建立在使用索引,並且是聚集索引的情況下)

如果直接使用join來處理兩張表,那麼只要篩選完條件,查詢基本上都能夠限制在100ms內完成。

使用where in的時候,能夠使用的索引,但是,由於查詢的where in 條件,每乙個條件都需要掃瞄表,所以相對來說要慢很多。

mysql中 where in 用法詳解

這裡分兩種情況來介紹 1 in 後面是記錄集,如 select from table where uname in select uname from user 2 in 後面是字串,如 select from table where uname in aaa bbb ccc ddd eee fff...

mysql多種join MySQL的幾種Join

左表t1 drop table if exists t1 create table t1 id int not null,name varchar 20 insert into t1 values 1,t1a insert into t1 values 2,t1b insert into t1 va...

J2ME中Font和Color的設定

你對j2me中font和color的設定是否了解,這裡和大家簡單分享一下,由於裝置的限制,手機中支援的字型型別很有限。另外同其他類不一樣,我們不能通過newfont 這樣的語句,來建立乙個font例項,因為font類沒有建構函式。j2me中font設定 由於裝置的限制,手機中支援的字型型別很有限。我...