MySql如何分級查詢上千萬行記錄的表,並將該大數據顯示到界面中

由於項目需要遇到如下問題:

人機界面程序要查看數據庫中的數據,其中有個表的數據已經有上千萬行了,要一次加載並顯示在界面上估計要消耗要好幾個GB的內存,所以考慮採用分頁查找的方式。

具體解決方案:

1,查找總共有多少行rowcount,採用如下的查詢語句:

select count(*) from tableName

另外information_schema庫中的Tables表中,也能夠查詢到所需表的行數,但查詢到的只是個近似的行數,不精確,但這樣查找的話效率會高很多。

2,規定每頁顯示n行,並計算出總共需要顯示多少頁

3,一次只查詢一頁的數據,比如第m頁,查詢語句如下:

select * from tablename limit (m-1)*n,n


仍然存在的問題:

1,select count(*) from tableName的效率有點第,得需要10s以上

2,當查詢後面的頁的數據時,效率較低,大約需要幾十秒

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章