我有两个表FACT_SALE
和DIM_PRODUCT
二者均具有产品名称通用,我想设置DIM_PRODUCT
的ID作为外键。使用FACT_SALE
表的不同名称值创建了DIM_PRODUCT
。加入和更新需要太长时间
UPDATE FACT_SALE FS
JOIN DIM_PRODUCT DP ON FS.PRODUCT_NAME = DP.NAME
SET FS.PRODUCT_KEY = DP.ID
我写的这个查询会永远运行,也不会反映在数据库中。 FACT_SALE table
中只有10万条记录(100 000)。但是如果我通过连接两个表运行选择查询,它可以快速运行。
我能知道什么是根本原因这个问题?
您的加盟条件是文本字段,我怀疑这个领域没有被索引,增加索引的字段名称可能会使方式更快捷,所以只是一个测试备份你的数据库,然后添加索引字段FS.PRODUCT_NAME和DP.NAME然后测试您的更新。 –