SqL四種寫法測試結果

2021-04-09 07:54:05 字數 849 閱讀 2916

兩個表的userid均是主鍵。

select * from t_userinfo where userid in (select userid from t_userinfo3)  --05s

select * from t_userinfo t where (select count(*) from t_userinfo3 where userid = t.userid)>0

select * from t_userinfo t where exists(select * from t_userinfo3 where userid = t.userid)

select t.* from t_userinfo t inner join t_userinfo3 u on u.userid = t.userid

昨天測了半天,從小資料到大資料量,結果是:

1、3、4始終都是相同的。

第二種寫法根據資料量的大小變化。

select出的行很少時,它最差。

select出的行在某較少的範圍時,它最快。

select出的行很多時,它效率與其它三種一樣。

此結果是根據執行計畫和statistics io及實測時間來得到的結論。

不過這讓我知道的sql的預設優化機制有時是根據資料多少而不同的。

就象以前發現的,不要以為用索引查詢就會用索引,sqlserver自己會選擇的,

如果它認為表掃瞄比索引掃瞄更省時,那麼它就不會索引。。。。

我們做sql優化時,可借助plan 和 statistics io來優化t_sql,非常準。

邏輯讀的數量決定了你要優化什麼。。。。。。其它的,嘿嘿,跟優化無關了。。。

ps:邏輯讀的數量指的是索引頁+資料頁

reflux react web 第四種寫法

var todocomponent react.createclass componentdidmount function onchangetext function ev 最新的refs獲取標籤不需要getdomnode 了 this.setstate onadditem function to...

SQL Update的四種常見寫法

實驗物件 兩個學生表 1.乙個stu學生表,乙個stu1學生表.2.上述表有三個字段 學生id,學生性別,學生名字 update語句常見場景,分為兩大類 1.單錶update 2.多表關聯update 1.1 單錶update單字段 update stu t set t.name mike wher...

vue元件的四種寫法

資料驅動和元件化是vue.js兩個最重要的特點。元件化是為了方便 復用,提高開發效率。常見的vue元件寫法有四種,各有特色,適用於不同的場景。結構 元件的註冊 vue.component componentname method 元件其他的屬性和方法 元件的使用 newvue 特點 1 可以直接在h...