我想知道什麼是優化的SQL查詢的響應時間包含超過2.000.000記錄建議「以優化SQL查詢的響應時間」
作爲一個表中的最佳解決方案解決方案,我想通過創建一個SQL視圖來創建一個虛擬表(事實上,我更喜歡mysql在今年創建的行的早期搜索,因爲這個應用程序的數據是基於季節的。)
有沒有更好的解決方案或建議?
例如,要查找租金的全部租線12
之前=> SELECT * FROM rent_lines其中rent_id = 12
現在=> 我創建的視圖
CREATE VIEW v_rent_lines
AS SELECT rent_id, category_id, customer_id, amount ..
Where rent_lines FROM created_at > = (select starts_on from seasons where current = true)
select * from v_rent_lines Where rent_id = 12
注意事項:
database e ngine正在使用InnoDB的
我添加索引表(index_rent_lines_on_rent_id,index_rent_lines_on_category_id,index_rent_lines_on_customer_id)
租金有許多rent_lines
我們需要更多的細節來處理。向我們展示有問題的查詢。給我們提供有關表格的模式。 –
這實際上取決於您的數據庫結構以及您想要執行的查詢。另外:「什麼是最好的X」問題往往會在這裏被封閉,因爲他們沒有確切的答案,並導致無休止的討論。請嘗試使您的問題更具體。 – bfavaretto
通常最簡單的解決方案是添加索引並啓用sql引擎緩存(例如查詢緩存),但它僅適用於SELECT查詢。如果SELECT/INSERT比率小於1000/1,答案並不那麼簡單。 – wojciechz