我有一個客戶的表,我需要更新和替換一個列(varchar)與一個id(整數)。我們稱第一個表Customers和第二個產品 因此,我不想使用varchar(例如產品A),而是想要產品(外鍵)的id。產品均具有標識和產品名稱的另一個表:最快的方法來比較和更新百萬行
我已經試過這樣:
UPDATE customers
SET s_product = (SELECT id from products WHERE products.productName = customers.s_product)
但這需要時間looong,我需要一個更快的方法來做到這一點。 另外我試圖設置customers.s_product(BTREE和FULLTEXT)的索引,但仍然沒有改進。
我需要一個id,而不是產品名稱。所以應該是 'SET t1.s_product = t2.id WHERE t1.s_product = t2.productName' – harunB10
你是對的,更新了答案:-) –
查詢現在運行了一個小時。與我的查詢相比,速度沒有提高。 :( – harunB10