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

2021-06-04 00:50:27 字數 1117 閱讀 9850

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急求工齡計算語句

select empid,empname,datediff dd,工齡字段,getdate 365 as 工齡 from tablename這是sql的寫法,測試了很久,這個已經是比較精確的了。select e no 員工編號,d name 部門名稱,e name 員工姓名,e salary 薪水,...

sql語句的問題?求高人解答

create table t account int,id1 char 1 id2 char 1 insert into t select 1,a union allselect 1,b union allselect 1,c union allselect 2,d union allselect ...

求一條刪除sql語句

這個方法不錯,觸發器。就是當你刪除student表的資料的時候讓系統自動執行相應的sql語句。我用sqlserver的方式幫你寫個 其實其他資料庫也一樣,差不多 create trigger trg delete on student for delete as 在這裡就把score表的中資料刪除掉...