2012-07-28 46 views
0

我有一個mysql表,已經有100萬條記錄,並會不斷增長。
但是這張表讀得很沉重,表現慢。
我想加快速度。
我知道mysql分片,分區和主/從解決方案。
但它無法滿足我的要求。閱讀mysql表不斷增長

ps。我調整了mysql配置,並且表結構不能改變。

回答

0

你爲什麼不考慮你的LIMIT條款。一次讀取數百萬條記錄肯定會導致問題。而不是製作單個查詢並等待太長時間使用多個查詢,並且在每個查詢工作或組合然後顯示時顯示數據。

SELECT * FROM `whatever` LIMIT 0, 10000; 

然後

SELECT * FROM `whatever` LIMIT 10001, 10000; 

Ofcourse這可以是在一個循環。

+0

查詢結果集只有幾條記錄。限制沒有用,因爲我們需要查詢整個表以獲得結果。桌上有百萬條記錄,並且閱讀很重。也許問題在於設計上升。 – Magic 2012-07-30 01:28:05

+0

由於您已經提到表結構無法更改,並且您知道表分區等等。運行查詢需要多長時間'SELECT COUNT(*)FROM whatever' – 2012-07-30 03:37:48

+0

我沒有嚴格測試它。在phpmyadmin中,運行SELECT COUNT(*)需要幾秒鐘。 – Magic 2012-07-31 03:57:08