解決MongoDB分頁查詢之count查詢慢的問題
一、概述
問題描述:在專案中優化動態查詢分頁介面時,發現count查詢很慢(資料量大概30萬),那如何解決這個問題呢?
解決方法:新增索引,多個查詢條件可以新增複合索引
二、測試對比
1. 未加索引時
count所用時間:1810ms
介面總用時:2298ms
2. 新增索引後
新增索引程式碼:
db.getCollection('infomations').createIndex({"isDraft": -1, "isProcessed": -1, "infomationSource": -1})
count所用時間:180ms
介面總用時:266ms
相關推薦
解決MongoDB分頁查詢之count查詢慢的問題
一、概述 問題描述:在專案中優化動態查詢分頁介面時,發現count查詢很慢(資料量大概30萬),那如何解決這個問題呢? 解決方法:新增索引,多個查詢條件可以新增複合索引 二、測試對比 1. 未加索引時 count所用時間:1810ms 介面總用時:2298ms 2. 新增索引後 新增索引程式碼: d
mongodb分頁查詢,排序
字符 star skip 相對 代碼 php代碼 this post 倒序 mongodb代碼 根據時間倒序,查看10條 db.表名.find({"_id":"xxx"}).sort({"inserted":-1}).limit(10).skip(1) 相對的p
億級別記錄的mongodb分頁查詢java程式碼實現
1.準備環境 1.1 mongodb下載 1.2 mongodb啟動 C:\mongodb\bin\mongod --dbpath D:\mongodb\data 1.3 視覺化mongo工具Robo 3T下載 2.準備資料 <d
Spring Data MongoDB 分頁查詢
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Mongodb分頁查詢效能分析
通用的分頁思路 通用的分頁方案是基於row_number的分頁思想,也就是說取第(pageIndexpageSize)到第(pageIndexpageSize + pageSize) db.getCol
MongoDB 分頁查詢的skip方法及效能
說起MongoDB,確實是用完了之後顛覆了我的資料管和程式觀。怎麼說呢?如果用在OO設計的程式裡那真的太棒了,像我這種資料驅動、表驅動思想根深蒂固的人,思路很難一下子跟上MongoDB的節奏。當然並不是呼叫個api,寫幾句query那些思路,而是程式設計思路,業務領域的設計
MongoDB分頁查詢的方法及效能
自從上次Redis之後呢,算是對Nosql型別的產品有些入門了,這會換個方向,研究下真正的NoSql資料庫——MongoDB。說起MongoDB,確實是用完了之後顛覆了我的資料管和程式觀。怎麼說呢?如果用在OO設計的程式裡那真的太棒了,像我這種資料驅動、表驅動思想根深蒂固
mongodb 分頁查詢替代skip的方式
以典型的列表api來說:下拉重新整理是獲取最新資訊,然後上拉載入下一頁 常見api要寫的2個介面 get_latest(model,count)get_with_page(number,size) get_latest一般是取最新的資料,比如我們常見的下拉重新整理,一般
Bootstrap分頁之後條件框查詢不到資料問題解決方案
bootstrap帶分頁查詢時,點選到第二頁,條件框輸入查詢條件查詢資料,第一次查詢不出來,需要載入第二次才會出來,原因是因為第一次查詢時自帶了當前分頁的查詢引數,解決方案為,在點選查詢按鈕時重置分頁引數,程式碼如下: $('#table').bootstra
分頁功能 與 分類查詢功能合並
nat hidden 後臺 item ble fas turn items where 功能的合並 首要的就是要找出兩個功能的共同點。這裏主要是用Response展示數據,通過tsql語句查詢的集合作為數據源,所以這裏將兩個tsql合並,來實現功能的合並。 面板界面代碼:
MySQL---正確使用索引、limit分頁、執行計劃、慢日誌查詢
ngs 數據庫 配置 服務 esc 操作 com ora 條件 正確使用索引 數據庫表中添加索引後確實會讓查詢速度起飛,但前提必須是正確的使用索引來查詢,如果以錯誤的方式使用,則即使建立索引也會不奏效。即使建立索引,索引也不會生效: 1 - like ‘%xx‘ 2
解決一個分表之後出現的查詢報錯問題
解決方法 出現 查詢 無法 nat 分表 lang table iss 做了分表之後,原先的底層sql語句查詢開始出現問題。 sql語句:select xxx from table a LEFT JOIN table b where a.列x = #{參數名} 報了 C
sql效能優化第一篇之分頁資料與count資料一次性獲取
相信大部分人都會遇到:在資料庫的資料量很大時,分頁需要幾秒鐘才會全部完成;包括分頁list的獲取和count的獲取。那我們完全可以將這兩步放到一次sql去執行獲取,減少一半的查詢時間。這裡get到sql_calc_found_rows和SELECT FOUND_ROWS()這兩個知識點。看程式碼
django分頁查詢及對已經分頁的資料進行查詢,對條件查詢後的資料再次分頁
#適用於妹子UI的分頁前端,其他的也沒問題,稍做修改即可 #對已經分頁的資料進行查詢,對查詢後的資料再次進行分頁 #思路:url請求除了需要帶current page 還需要帶查詢的內容,以此判斷是否查詢後的資料分頁 直接上程式碼: pages:包含兩個類1. Pagination表示對全部
MongoDB基礎教程:find 查詢之條件查詢($lt\$gt\$lte\$gte\$or\$not)
轉載:原文連結:原文連結出處,點選跳轉 查詢不僅能像MongoDB基礎教程:find 查詢中說的那樣精確匹配,還能匹配更加複雜的條件,比如範圍、OR子句和取反。 查詢條件 首先我們先來認識比較操作符,下面是全部的比較操作符。 "$lt" less than
extjs3 分頁操作(帶查詢條件),獲取頁碼、開始行、分頁大小
一、分頁操作 extjs3.x版本做分頁操作時,只需配置PagingToolbar 即可,總的來說還是比較方便的,但是預設情況下是不能進行帶查詢條件的分頁操作的,如何解決呢? //xxx表示檔名,xxx.js xxx.prototype.grid=function(){
mongodb進階一之高階查詢
這篇我們來說說mongodb的進階--------------高階查詢 一:各種查詢 1:條件操作符 <, <=, >, >= 這個操作符就不用多解釋了,最常用也是最簡單的。 db.collection.find({ "field" : { $gt
mongodb 高階查詢 group count 查詢
條件操作符 $gt : > $lt : < $gte: >= $lte: <= $ne : !=、<> $in : in $nin: not in $all: all $not: 反匹配(1.3.3及以上版本) 以下
Hibernate查詢之Criteria查詢in中的長度大於1000解決方案
眾所周知。hibernate的查詢有好幾種,Criteria正是其查詢方式的一種,跟其他查詢方式比較下具體優缺多有爭議,不過這個不是今天要討論的重點,我開發用的就是Criteria查詢,先來說說我在使用中遇到的問題,在查詢中對於in的使用我想都很普遍,比如: Criter
sql效能優化第三篇之mybait接收多資料集(分頁資料和count資料)
廢話不多說,直接上程式碼: 1、xml程式碼: <!-- 獲取學生列表資料-分頁-+count資料 --> <select id="getStudentManagePage" re