-3
我在MySQL中有10個表,具有相同的列數,例如Id,Name,Timestamp。每個表格包含大約100萬條記錄。我必須將所有表格的合併數據顯示在一個地方。獲得按時間戳排序的分頁數據的最佳方式是什麼?例如,如果我必須顯示第4頁和頁面大小爲25,那麼我應該得到第76到第100條記錄,按照時間戳排序,就好像它們在單個表中一樣。MySql,分頁
我寫它(第4頁):
select * from (
(
Select * from TABLE1 limit 0,100
)
UNION (
Select * from TABLE2 limit 0,100
)
UNION (
Select * from TABLE3 limit 0,100
)
UNION (
Select * from TABLE4 limit 0,100
)
) t
limit 75,25
這對小頁面大小正常工作(高達100),但對於> 20非常緩慢。如何改進?還有另一種方法可以做到嗎?
在此先感謝!
使用ElasticSearch: - } – Ashalynd 2015-01-21 12:00:29
只是我的看法,但你不應該浪費時間優化分頁超過10頁 - 目的是用戶友好的過濾,而不是。向我展示一個用戶,每個用戶將參與100個項目/行的10頁。 – Filburt 2015-01-21 12:03:30