標題寫的有些大了……
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 盡...