有些文章我與COALESCE互聯網相比ISNULL發現空的性能,所以我覺得我的問題是有點不同。COALESCE VS IS NOT上檢查空字符串
我不知道這是在性能方面更好?
SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
或者
SELECT * FROM mytable WHERE COALESCE(mycolumn,'') <> '';
除了性能,有沒有決定什麼時候我應該考慮任何其他問題?
編輯:
我正在使用Teradata。
作爲後續行動的問題,如果我們知道一個索引將被使用,我們也許能夠自動優化SQL(幕後)和翻譯COALESCE(mycolumn,「」)<>「」到mycolumn IS NOT NULL和mycolumn <>''。我有道理嗎? – Russell 2010-10-14 16:41:41
我相信你可能會發現NUSI可能不會被用來滿足不平等比較。值得看看EXPLAIN來確認優化器是否使用NUSI。 – 2010-10-15 14:15:24