2014-01-09 23 views
0

目前,我正在開發一個php項目。對於我的項目擴展,我需要在mysql數據庫中添加更多的數據。但是,我只需要在一個特定的表中添加數據並添加數據。現在,該表的大小爲610.1 MB,行數爲34,91,534。在該表中還有22個不同的記錄,一個不同的記錄是具有17,00,000個數據,另外一個具有800,000個數據。 之後,我一直在試圖運行SELECT語句,它需要更多的時間(6.890秒)執行。在該表中,可能的列數有index.even,儘管它需要更多的時間。 我嘗試了兩件事情來快速檢索過程 1.存儲過程與可能的表列索引。 2.partitions。 再一次,兩者也花費更多的時間來執行SELECT查詢針對一些具有更多行數的獨特記錄。任何人都可以請您爲我的問題建議我更好的替代方案,或者讓我知道,如果我之前做過任何錯誤試過。如何提高在MySQL中爲大數據選擇查詢性能

+1

您需要提供更多信息,例如表結構等,以便人們能夠有效地幫助您 – AeroX

+0

您還應該考慮使用緩存的可能性,因爲您的查詢花費的時間太長而不能訪問數據庫,當然數據庫緩存並不是所有情況下的最佳答案,特別是當數據變化很大時。 – avenet

+0

緩存緩存和緩存 –

回答

0

在處理大量行時,您應該小心沉重的複雜嵌套select語句。對於嵌套選擇的每次迭代,它使用更多資源來獲得所需的結果。

如果您使用的是這樣的: SELECT DISTINCT列FROM表 WHERE條件

,它仍採取長以什執行,如果你有索引和分區去那麼它可能是物理資源。

調整你的結構,然後調整你的代碼。

希望這會有所幫助。