在mysql中使用多个表的连接时,更新查询表现不佳

时间:2015-02-06 06:07:34

标签: mysql ruby-on-rails join query-optimization

我一直在尝试使用以下连接来更新两个表中的单个列,

update skus sk inner join products ss on (sk.id = ss.sk_number) set sk.style_id = (select id from categories where style_number = ss.st_number)

我已经为必填字段应用了索引,但这里skus表sk.id是字符串类型的主键。

产品表:sk_number和st_number字段,其中也应用了索引。

我不知道该查询有什么问题?请与我分享您的想法

2 个答案:

答案 0 :(得分:0)

试试这个......

示例:

UPDATE A    
  SET ControllingSalesRep = RA.SalesRepCode   
from DHE.dbo.tblAccounts A
  INNER JOIN DHE_Import.dbo.tblSalesRepsAccountsLink RA
    ON A.AccountCode = RA.AccountCode

您的查询:

update sk set sk.style_id = (select id from categories where style_number = ss.st_number) from skus sk inner join products ss on (sk.id = ss.sk_number)

答案 1 :(得分:0)

试试这个......

update sk set sk.style_id = ca.id from categories ca  inner join products ss  on ca.style_number = ss.st_number inner join skus sk  on (sk.id = ss.sk_number)