我有以下查詢,我需要提高性能SQL性能取代
DECLARE @number varchar(40) = '0800001001'
SELECT
Id
FROM
Table1
WHERE
(REPLACE(Phone1, ' ','') = @number)
OR (REPLACE(Phone2, ' ','') = @number)
表有50萬行,並在這些列或全文目前沒有索引。任何人都可以建議使用索引,clr函數或其他方式來改進此查詢的最佳方法嗎?
所有數字都以相同的格式存儲嗎?即使他們有空間,他們也遵循相同的模式嗎?如果是這樣,那麼你可以做的第一件事是刪除REPLACE調用,並提供與空格相同格式的@number –
嘗試使用** DataBase Tuning Advisor **運行此查詢。它是** SQL管理工作室**中的選項:在....中查詢\分析查詢,它會顯示你可以採取的行動的主張。這是第一步。 –