在我的MySQL數據庫中,我有兩個表:'orders'和'orders_lines'。訂單包含有關客戶的信息,訂單日期等。 Orders_lines包含有關產品的數據,如product_id,價格,數量,稅率等。MySQL查詢使服務器崩潰?
我目前正在建立一個搜索頁面,我想要返回包含特定產品的訂單。例如,我想用的product_id 2.返回所有的訂單我覺得像一個查詢:
SELECT * FROM orders WHERE order_id IN (SELECT order_id FROM orders_lines WHERE product_id = 2)
但是,當我今天早上執行查詢我只好打電話給託管服務提供商終止了MySQL過程,因爲它是沉重的方式。從來沒有聽說過它,不知道爲什麼,我現在很絕望。 orders表包含大約30.000行,orders_lines表大約有38.000行。
任何建議爲什麼我的數據庫崩潰,如何更改查詢以使其正常工作或如何實現顯示包含某個產品的訂單的目標,歡迎您!
親切的問候,
的Martijn
你有什麼指標在桌子上?你能發表表格的定義嗎? –
答案是否可以,'order_lines.order_id'無效? –
但如何查詢放下一個MySQL服務器自己?使所有其他查詢/連接變慢?爲什麼 – Miguel