2
我有2個表,即;SQL查詢 - 兩個表之間的數據匹配
TableA中有大約1000萬行,
TableB中大約50萬行
TableA (10million rows)
Url
-------------------------------------------
http://www.example.com/data/tuesday-morning
http://www.example.com/data/wednesday-evening
TableB (500k rows)
Keyword Value
--------- ----------
Sunday 0
Monday 0
Tuesday 0
Wednesday 0
我想搜索在TableA
在TableB
所有關鍵字,並找到匹配,其中一個匹配更新有其Value
至1
。
我使用MERGE,但問題是至少需要10個小時才能進行搜索。
我會作出這樣的搜索每天,由於這些關鍵字在TableB
MERGE INTO TableB As TB
USING (Select Url From TableA) As TA
ON TA.Url LIKE 'http://www.example.com/data/'+TB.Keyword+'-%'
WHEN MATCHED THEN
UPDATE SET TB.Value=1;
每日更新什麼將是最好的SQL查詢,使這兩個表之間最快的查找?
非常感謝
擺脫'(選擇URL從表A)'這是肯定減慢您的查詢,只使用'TableA' – gofr1
隨着該行數量的唯一方法 - 使用全文索引。也就是 - 採用以下由tinka(http://stackoverflow.com/a/39080778/2746150)提出的方法,但是您必須用特定於全文的語言結構來替換'like'%'+ t2.keyword +'%''文本索引更快。 –