【发布时间】:2011-08-26 17:13:07
【问题描述】:
所以在我的工作中,我被要求修复一些在 mysql 5 数据库上运行的 sql 代码并且我被卡住了,我也不确定这是否是正确的地方,但是在这个问题上有一个小的啤酒赏金。好吧,向投票最多的问题发送一些啤酒钱。
该语句基本上需要做以下事情: 从 customers_basket 中删除 products.products_quantity 的行
这是当前的声明:
DELETE FROM customers_basket
WHERE EXISTS
(SELECT products_id
FROM inventory_t_product_minimum_stock
WHERE customers_basket.products_id =
inventory_t_product_minimum_stock.products_id
AND LOWER(inventory_t_product_minimum_stock.minimum_quantity) = 'nla')
所以实际上所有需要更改的只是添加有关 products_quantity
为 3 个表编写一个简单的左联接并不难,但我担心的是,当用户登录并加入三个大表时执行此代码,我想这对我们来说是一个相当大的问题。我实际上是一个 C 开发人员来 javascript 编码器,一些 dbs 有点超出我的专业领域。那里的一位 sql 专家是否有一个很好的解决方案而不必更改我们的数据库架构?
编辑*拼写
【问题讨论】:
-
您是否测试过您提到的
JOIN方法?我不会假设它表现得不够好,尤其是如果你有适当的索引。此外,如果您可以为所涉及的表提供完整的架构,这将有所帮助。
标签: mysql sql optimization join