0
我有這個疑問:的SQL Server索引 - 想法?
SELECT
c.violatorname
FROM
dbo.crimecases AS c,
dbo.people AS p
WHERE
REPLACE(c.violatorname, ' ', '') = CONCAT(CONCAT(CONCAT(p.firstname, p.secondname), p.thirdname), p.lastname);
查詢是很慢的,我需要與替換功能violatorname
列上創建索引。有任何想法嗎?
[不良習慣踢:使用舊樣式的JOIN(http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08 /bad-habits-to-kick-using-old-style-joins.aspx) - 舊樣式* *風格是與*適當* ANSI'JOIN'語法在ANSI-更換表的逗號分隔的列表* * 92 ** SQL標準(**25年**前)和不鼓勵使用 –
查詢是緩慢的,因爲你正在使用你的謂詞的功能。這不允許SQL使用這些統計信息來創建一個好的計劃。它可以掃描每一行,以找出替換的值是該列以及等號的另一邊的CONCAT。按照建議與計算列一起去。 –