作者 主題: ms sql 如何有效率 select 出 null 跟 空白  (閱讀 13797 次)

0 會員 與 1 訪客 正在閱讀本文。

asako

  • 活潑的大學生
  • ***
  • 文章數: 242
    • 檢視個人資料
有一個 table 有 1仟萬筆的資料,想把某欄裡 是 null 跟空白的抓出來。有什麼有效率的方式嗎?
目前我用的是
select * from table where isnull(date,'')=''

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: ms sql 如何有效率 select 出 null 跟 空白
« 回覆 #1 於: 2008-11-22 09:23 »
用 function 會變成 full table scan.
改用 where date is null or date = '' 應該會比較快 (如果 date 是 index 的話).

asako

  • 活潑的大學生
  • ***
  • 文章數: 242
    • 檢視個人資料
回覆: ms sql 如何有效率 select 出 null 跟 空白
« 回覆 #2 於: 2008-11-23 12:52 »
>> 改用 where date is null or date = '' 應該會比較快 (如果 date 是 index 的話).
這個還是會 full table SCAN 吧 因為有個 or 在上頭不是嗎?

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: ms sql 如何有效率 select 出 null 跟 空白
« 回覆 #3 於: 2008-11-23 13:06 »
自己 explain 看一下結果不就知道會不會做 full table scan 了吧.
至少在我接觸的 rdbms 中, 好像沒有碰到那個 optimizer 會用 full table scan 處理.