sql語句求優化,聽說NOT IN語句不好求優化

2021-06-04 00:50:28 字數 1117 閱讀 3170

1樓:阿冬

還要注意是在哪一種資料庫管理系統中,有些就不支援minus,不過not exists應該都支援。

2樓:一支紅纓槍

select name from test1 a

where not exists (select * from test2 b where b.name<>'admin' and b.name = a.name)

sql語句not in如何優化最好

3樓:

把*換成具體你想要的欄位,不需要的就別寫了,以免掃描全表檢視

如果**入庫單_主表比較大,那需要給此表建個索引,索引列就是單據型別

4樓:永遠左手

not exists 或者 minus

5樓:溉藥袉阜

使用not exists替換, 一般情況下not exists的效能比not in高出很多

sql 語句 in的優化。

6樓:匿名使用者

假設原來的句子是

select * from t1 where t1.f1 in (select t2.f2 from t2 where t2.f2=***)

和你的很類似

你用子查詢 很慢

我們現在修改為:

select t1.* from t1 ,t2 where t1.f1 = t2.f2 and t2.f2=***x

這裡使用了關聯查詢代替了子查詢大大提高效率。

其次你可以考慮在表t1.f1上加索引,提高查詢速度。

7樓:匿名使用者

嘗試在 in 的這個欄位上建索引

8樓:匿名使用者

這樣試下:

把id放到一張表中,

where id in(select id from 表)

9樓:guoke濤

select * from t1

join t2 on t1.f1=t2.f2

where t2.f2=***

如何優化用sql語句insert

插入書寫方式 1 insert into t1 field1,field2 value 001 002 最好的做法明確插入的每一列,列於查錯,而且漏列的機率會降低。2 insert into t1 field1,field2 values 001 002 003 004 能夠批量插入資料最好批量插入...

求SQL聯表查詢語句,求SQL聯表查詢語句

首先你要了解一下資料的傳輸 1 你不用擔心,20多萬資料很少的。我見過最高的單個表有近2億行資料。2 資料庫以sqlserver為例,它會把自己要用的資料快取到記憶體裡,然後再更新到硬碟,也就是說,你增刪改查的時候,實際上會先寫入到記憶體。所以sqlserver執行久了,你會發現工作管理員的記憶體佔...

求一SQL語句

也不說什麼資料庫,語法都不一樣。mysql create table test fname varchar 100 fmoney int insert into test values 得獎 雙色球 4000 insert into test values 得獎 瓜子卡片 100 insert in...