sql效能優化第一篇之分頁資料與count資料一次性獲取
相信大部分人都會遇到:在資料庫的資料量很大時,分頁需要幾秒鐘才會全部完成;包括分頁list的獲取和count的獲取。那我們完全可以將這兩步放到一次sql去執行獲取,減少一半的查詢時間。這裡get到sql_calc_found_rows和SELECT FOUND_ROWS()這兩個知識點。看程式碼:
select SQL_CALC_FOUND_ROWS col_name1 as colName1, col_name2 as colName2 from table_name limit 0,10; select FOUND_ROWS() as count; 在SELECT語句中加上修飾SQL_CALC_FOUND_ROWS 之後,SELECT FOUND_ROWS() 會返回滿足條件記錄的總數。 這樣,你執行完 select SQL_CALC_FOUND_ROWS 之後,再取一下記錄總數就行了。
現在,你會獲取到如下資料:
看到沒有,兩個結果:第一個是分頁list,第二個是總數count。接下來怎麼辦,請繼續看第二篇。。。
相關推薦
sql效能優化第一篇之分頁資料與count資料一次性獲取
相信大部分人都會遇到:在資料庫的資料量很大時,分頁需要幾秒鐘才會全部完成;包括分頁list的獲取和count的獲取。那我們完全可以將這兩步放到一次sql去執行獲取,減少一半的查詢時間。這裡get到sql_calc_found_rows和SELECT FOUND_ROWS()這兩個知識點。看程式碼
sql效能優化第二篇之mybatis如何能夠執行多條sql
在第一篇基礎上,資料庫能夠成功執行語句,但是放到Java程式碼中會報錯有木有。 原來,mybatis在我們使用連結連線資料庫時,需要我們手動在連線上加上程式碼: &allowMultiQueries=true //允許執行多條sql 寫全就是:spring.datasour
前端效能優化第一篇-http請求
前端效能優化第一篇-http請求 本系列文章是我在閱讀《高效能網站架設指南》時的讀書筆記,文章的順序基本和書的順序是相同的,同時由於這本書的出版時間比較早了,我會根據現代前端的發展變化做出備註。 http請求是提升效能的一個重要方面,我們可以在開啟一個網站的時候開啟
sql效能優化第三篇之mybait接收多資料集(分頁資料和count資料)
廢話不多說,直接上程式碼: 1、xml程式碼: <!-- 獲取學生列表資料-分頁-+count資料 --> <select id="getStudentManagePage" re
效能優化之分頁查詢
一、背景 大部分開發和DBA同行都對分頁查詢非常非常瞭解,看帖子翻頁需要分頁查詢,搜尋商品也需要分頁查詢。那麼問題來了,遇到上千萬或者上億的資料量怎麼快速的拉取全量,比如大商家拉取每月千萬級別的訂單數量到自己獨立的ISV做財務統計;或者擁有百萬千萬粉絲的公眾大號,給全部粉絲推送訊息的場景。本文講講個人的優化
MongoDB 效能優化之分頁查詢
最常見的分頁採用的是skip+limit這種組合方式,這種方式對付小資料倒也可以,但是對付上幾百上千萬的大資料,只能力不從心。通過如下思路改善,可以大大提高查詢速度:條件查詢+排序+限制返回記錄。邊查詢,邊排序,排序之後,抽取第一次分頁中的最後一條記錄,作為第二次分頁的條件
面試被問之-----sql優化中in與exists的區別 Mysql中 in or exists not exists not in區別 (網路整理) Sql語句中IN和exists的區別及應用 [筆記] SQL效能優化 - 避免使用 IN 和 NOT IN
曾經一次去面試,被問及in與exists的區別,記得當時是這麼回答的:''in後面接子查詢或者(xx,xx,xx,,,),exists後面需要一個true或者false的結果",當然這麼說也不算錯,但別人想聽的是sql優化相關,肯定是效率的問題,只是那個時候確實不知道它們在sql優化上的區別,只知道用in會進
SQL優化案例-單表分頁語句的優化(八)
分頁語句分為單表分頁與多表關聯分頁。分頁語句的優化首先要選對分頁框架,錯誤的分頁框架會導致掃描表中全部的資料,正確的分頁框架會利用到rownum的count stopkey特性較少資料訪問。 如下錯誤的分頁框架: SELECT * FROM (SELECT T.*, ROWNUM RN
Sql效能優化之UNION、UNION ALL
SQL UNION 操作符 UNION 操作符用於合併兩個或多個 SELECT 語句的結果集。 請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 SELECT 語句中的列的順序必須相同。 1、SQL
資料倉庫中的sql效能優化(MySQL篇)
做資料倉庫的頭兩年,使用高配置單機 + MySQL的方式來實現所有的計算(包括資料的ETL,以及報表計算。沒有OLAP)。用過MySQL自帶的MYISAM和列儲存引擎Infobright。這篇文章總結了自己和團隊在那段時間碰到的一些常見效能問題和解決方案。 P.S.如果沒有
SQL on HBase -- phoenix 之分頁查詢
最近一個專案中使用了HBase,有一部分實時查詢的需求。HBase本身只有一種排序,即按照rowkey的字典升序來排序資料。然而我們常常會碰到各種各樣的排序需求。 對於簡單的需求(比如專案確定只有某一種特定排序的需求),則可以通過對rowk
SQL儲存過程之分頁用法
create procedure [dbo].[psys_Paging]@sql text, --要執行的sql語句@page int, --要顯示的頁碼@pageSize int, --每頁的大小@pageCount int=0 out, --總頁數@recordCount int=0 out -
[Android 效能優化系列]記憶體之基礎篇--Android如何管理記憶體
轉載請標明出處(http://blog.csdn.net/kifile),再次感謝 在接下來的一段時間裡,我會每天翻譯一部分關於效能提升的Android官方文件給大家 下面是本次的正文: ################ 隨機訪問儲存器(Ram) 不管在哪種軟體開發
Oracle12c中SQL效能優化(SQL TUNING)新特性之自動重優化(automatic reoptimization)
Oracle12c中的自適應查詢優化有一系列不同特點組成。像自適應計劃(AdaptivePlans)功能可以在執行時修改執行計劃,但並不允許計劃中連線順序的改變。自動重優化基於先前執行和反饋到優化器資訊的學習,因此,語句下次解析執行時將會生成一個較好的計劃。1. 統計資訊
關係型資料庫大資料效能優化解決方案之:分表(當前表歷史表)、表分割槽、資料清理原則
原因和目的由於交易量大或者日積月累造成資料庫的資料量越來越大。會導致系統性能大幅下降,所以要對部分業務的表資料作備份和清理減少資料量,來提升請求響應的速度,提升使用者體驗資料是否需要清理的閥值判斷通常當表的磁碟大小超過 5GB,或對於 OLTP 系統(聯機事務處理),表的記錄
Linux內存尋址之分頁機制
緩存 itl ans linux 存儲器 apt target tar linux中 http://blog.xiaohansong.com/2015/10/05/Linux內存尋址之分頁機制/ 在上一篇文章Linux內存尋址之分段機制中,我們了解邏輯地址通過分段機制轉換為
Spring框架第一篇之簡單入門
其中 lan .org exp mage odi 只需要 需要 資源 一、下載Spring的jar包 通過http://repo.spring.io/release/org/springframework/spring/地址下載最新的Spring的zip包,當然,如果你是在
day18-2-django之分頁和session
特征 request 客戶 .site none func pytho 控制 render Django-4 知識預覽 分頁器(paginator) COOKIE 與 SESSION 回到頂部 分頁器(paginator) 分頁器的使用 >>
DWR第一篇之入門示例
es2017 blog gets 測試 sky limit 目錄結構 rpo contex 1. 新建maven-web項目,目錄結構如下: 2. 在pom.xml裏添加dwr所需的依賴 1 <dependency> 2 <gro
從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)
說明 div rep 工具 標識符 軟件定義 而不是 this 必須 AlwaysOn是SQL Server2012推出的最新的高可用技術,用以取代原有的SQL Serve鏡像 網上的 AlwaysOn可以說是非常的多,也可以說是非常的千篇一律,而且很多都是搭建非常順利