簡體   English   中英

MySql-從許多具有聯合表或使用臨時表的表中選擇更好嗎?

[英]MySql - Is it better to select from many tables with union or using temp tables?

我們有一個用戶可以運行的報告,該報告需要從5種不同的服務中選擇記錄。 沒錯,我正在使用UNION在一個查詢中組合所有表,但是有時,這對於服務器來說實在太多了,它崩潰了! 我優化了查詢的零碎部分(這里和表的聯接),此后沒有發生任何崩潰,但是報告仍然需要很長時間才能加載(即查詢非常慢)。

問題是,如果我為不同的服務類型創建5個臨時表,然后從所有臨時表中進行選擇,那么mysql的性能會更快,更優化嗎? 還是有不同的想法? 我當然可以只使用5個單獨的選擇,然后將它們組合到代碼(php)中。 但是我想這會導致報告加載得更慢...

有任何想法嗎?

通常,速度的限制因素是數據庫,而不是PHP。 我建議運行單獨的查詢,然后讓PHP進行合並,看看這樣做是否更快。 如果您沒有將所有數據存儲在數組中或進行其他繁重的處理,我懷疑PHP的方法會更快。

(這實際上是作為評論,但還沒有這些權利。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM