[英]Can someone please help me with this sql query?
因此,在我的工作中,我被要求修復在mysql 5數據庫上運行的一些sql代碼,並且卡住了,我也不確定這是否是執行此操作的正確位置,但是對此問題有少量啤酒懸賞。 請將一些啤酒錢發送給投票最多的問題。
基本上,該語句需要執行以下操作:從customer_basket中刪除行,其中products.products_quantity <1 AND LOWER(inventory_t_product_minimum_stock.minimum_quantity)='nla'
這是當前的語句:
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 <1的位,但是,該信息來自另一個表。
為3個表編寫一個簡單的左聯接並不難,但是我擔心的是,當用戶登錄時執行此代碼,而聯接3個大表對我來說將是一個很大的問題。 我實際上是C開發人員來的javascript編碼器,有些數據庫超出了我的專業領域。 那里的一位sql專家是否有一個很好的解決方案,而無需更改我們的數據庫架構?
編輯*拼寫
只要您的表已正確建立索引,並且您正在加入已索引的字段,並且您的過濾器定位到已建立索引的字段,則查詢的性能應該會很好。
此外,您是否僅刪除用戶購物籃表中用於用戶登錄或數量小於1的所有產品的項目?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.