Sqlite大資料量查詢優化比較 轉

2021-07-09 11:54:48 字數 924 閱讀 4085

標題寫的有些大了……

1、select * from blog_cms where status=1 limit 0,10

耗時15ms

2、select * from blog_cms where status=1 order by id desc limit 0,10

耗時1187ms

如果sqlite查詢只是搜尋出id會快些↓

3、select id from blog_cms where status=1 order by id desc limit 0,10

耗時650ms

那麼就這樣來,sqlite查詢直接搜尋id,然後再通過id查詢詳細資訊↓

4、select * from blog_cms where id in(select id from blog_cms where status=1 order by id desc limit 0,10) order by id desc

耗時656ms

這樣基本上是滿足條件的sqlite查詢速度最快的方法了,我們再來看看sqlite查詢時去掉status=1的條件時的查詢速度

5、select * from blog_cms where id in(select id from blog_cms order by id desc limit 0,10) order by id desc

耗時75ms

第乙個查詢真快,咱們再看看這樣乙個sqlite查詢語句

6、select * from blog_cms where status=1 limit 4000,10

耗時593ms

簡單的逆序查詢用第四個方法是最快的。

諸如其他的sqlite查詢語句的優化,請谷鴿之

關於大資料量查詢報表優化

針對資料量巨大的報表查詢,總結了一下幾個處理方法 看乙個運用案例 多粒度 年月日,省 地市 熱點 ac ap 下每天20w條,每月800w條,自由選擇35天內資料的查詢。直接查詢頁面崩潰,運用了以下幾點,基本上能保證在1 2分鐘 100秒左右 內頁面相應載入。b 一 表分割槽 b 當某張表每天都有上...

mysql大資料量分頁查詢優化

參考文章 mysql的分頁查詢十分簡單,但是當資料量大的時候一般的分頁就吃不消了。傳統分頁查詢 select c1,c2,cn from table limit n,m mysql的limit工作原理就是先讀取前面n條記錄,然後拋棄前n條,讀後面m條想要的,所以n越大,偏移量越大,效能就越差。1 盡...

mysql大資料量分頁查詢優化

參考文章 mysql的分頁查詢十分簡單,但是當資料量大的時候一般的分頁就吃不消了。傳統分頁查詢 select c1,c2,cn from table limit n,m mysql的limit工作原理就是先讀取前面n條記錄,然後拋棄前n條,讀後面m條想要的,所以n越大,偏移量越大,效能就越差。1 盡...