兩個表的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...