MySQL效能調優-使用ROLLUP代替UNION ALL
需求:統計各個活動的用券總金額和所有活動的用券總金額
原SQL語句如下(表明比較敏感,不便展示):
select active_code,SUM(rp_amount) totalReward from xxx_xxx_xxx_xxx group by active_code union all select null, SUM(rp_amount) totalReward from xxx_xxx_xxx_xxx;
發現這是慢查詢,原因在於:資料庫引擎是將union all連線的兩個子查詢分別執行查詢操作,得到兩個查詢結果集,再彙總成一個set。
改進:使用ROLLUP關鍵字,ROLLUP根據group by 後跟的欄位或表示式產生多個結果集(grouping sets),結果集不僅包括各個活動用券金額統計,還包括所有活動的用券總金額。
select active_code,SUM(rp_amount) totalReward from xxx_xxx_xxx_xxx group by active_code with rollup;
相關推薦
MySQL效能調優-使用ROLLUP代替UNION ALL
需求:統計各個活動的用券總金額和所有活動的用券總金額 原SQL語句如下(表明比較敏感,不便展示): select active_code,SUM(rp_amount) totalReward from xxx_xxx_xxx_xxx group by active_cod
MySQL 效能調優技巧
技巧#1:確定MySQL的最大連線數 對於MySQL的最大連線數,一次最好是傳送5個請求到Web伺服器。對Web伺服器的5個請求中的一部分將用於CSS樣式表,影象和指令碼等資源。由於諸如瀏覽器快取等原因,要獲得準確的MySQL到Web伺服器的請求比率可能很困難; 要想得到一個確切的數字,就需要分
MySQL效能優化總結___本文乃《MySQL效能調優與架構設計》讀書筆記!
一、MySQL的主要適用場景 1、Web網站系統 2、日誌記錄系統 3、資料倉庫系統 4、嵌入式系統 二、MySQL架構圖: 三、MySQL儲存引擎概述 1)MyISAM儲存引擎 MyISAM儲存引擎的表在資料庫中,每一個表
mysql效能調優(四)——聚簇索引、索引覆蓋
1、聚簇索引 這裡說的,聚簇索引是相對InnoDB資料庫引擎來說的,講的是聚簇索引隨機主鍵值的效率 對於InnoDB來說,主鍵儘量用整型,並且是遞增的比較好,因為新增的時候,如果是隨機主鍵插入,會存在節點分裂
mysql效能調優(三)——列選取原則
1、列型別選擇 1)整型 > data、time > char、varchar > blob 整型、date、time運算快 &nb
mysql效能調優(二)——查詢mysql程序狀態
除了可以檢視資料庫狀態,還可以觀察mysql程序狀態 用show processlist 或者開啟慢查詢,獲取有問題的sql(而用profiling以及explain分析sql語句我們暫時以後再說) mysql -uroot -e 'show processlist' 看資料庫狀
mysql效能調優(一)——查詢資料庫狀態
所謂效能調優,首先要發現問題,才能知道怎麼進行效能調優噻,所以我們先從發現問題開始 1、show status 查詢資料庫狀態 其中監控伺服器狀態比較重要的幾個引數是: Queries 進行多少次查
mysql效能調優筆記(二)--查詢優化和索引
一、Mysql執行查詢流程 mysql執行查詢的流程 mysql執行查詢內部路程:1.客服端傳送一條查詢給伺服器
MySQL效能調優
1、修改伺服器BIOS設定 1.1.選擇performance Per watt Optimized(DAPC)模式、發揮CPU最大效能。 1.2.Memory Frequency(記憶體頻率) 選擇Maximum performance(最近效能)。 1.3.
MySQL效能調優與架構設計-筆記
MySQL的主要適用場景 ①Web網站系統:免費開源、安裝配置簡單。 ②日誌記錄系統:MyISAM實現高效能插入和查詢。 ③資料倉庫系統:免費支援主從複製。 InnoDB儲存引擎的特點: a. 支援事務安全
MySQL效能調優——索引詳解與索引的優化
——索引優化,可以說是資料庫相關優化、理解尤其是查詢優化中最常用的優化手段之一。所以,只有深入索引的實現原理、儲存方式、不同索引間區別,才能設計或使用最優的索引,最大幅度的提升查詢效率! 一、BTree索引 1、概述 Mysql資料庫中使用最頻繁的索引型別,基本所有儲存引
MySQL效能調優——鎖定機制與鎖優化分析
——針對多執行緒的併發訪問,任何一個數據庫都有其鎖定機制,它的優劣直接關係著資料的一致完整性與資料庫系統的高併發處理效能。鎖定機制也因此成了各種資料庫的核心技術之一。不同資料庫儲存引擎的鎖定機制是不同
MySQL效能調優my.cnf詳解
提供一個MySQL 5.6版本適合在1GB記憶體VPS上的my.cnf配置檔案: [client] port =3306 socket =/tmp/mysql.sock [mysqld] port =3306 socket =/tmp/mysql.sock basedi
MySQL效能調優與架構設計(六)—— MySQL資料庫鎖定機制
前言 在說鎖定機制之前,有必要理解下併發與並行的基本概念。 併發是指一臺處理器上同時處理多個任務,並行是指多個處理器同時處理多個任務,如hadoop分散式叢集。 通俗的講,併發就是不同執行緒同時幹一件事情,並行就是不同執行緒同時幹不同的事情。 所以併發程式設計的目
主從同步、讀寫分離、mysql效能調優(軟優化)
配置mysql主從同步1 主從同步的作用:讓slave身份的資料庫伺服器自動同步 master身份的資料庫伺服器上的資料。 一、主資料庫伺服器的配置192.168.4.121 使用者授權mysql> grant replication slave on *.* to [email
讀《MySQL效能調優與架構設計》筆記之充分利用 Explain和Profiling
1.1. Explain 的使用 我們先看一下在MySQL Explain 功能中給我們展示的各種資訊的解釋: ◆ ID:MySQL Query Optimizer選定的執行計劃中查詢的序列號。表示查詢中執行select子句或操作表的順序,id值越大優先順序
MYSQL效能調優: 對聚簇索引和非聚簇索引的認識
聚簇索引是對磁碟上實際資料重新組織以按指定的一個或多個列的值排序的演算法。特點是儲存資料的順序和索引順序一致。 一般情況下主鍵會預設建立聚簇索引,且一張表只允許存在一個聚簇索引。 在《資料庫原理》一書中是這麼解釋聚簇索引和非聚簇索引的區別的: 聚簇索引的葉子節點就
Qt連線MySQL程式設計及資料庫效能調優(一)
之前整理過一篇Qt下資料庫程式設計基礎 :最近在進行單元測試,所以把遇到的一些問題整理出來,主要是關於資料庫的 1.遠端連線資料庫 連線語句是: mysql -h 192.168.xx.xx(IP地址) -P 3306(埠) -u remoteuser(登入使用
【MySQL】-效能調優
mysql這塊我們是用的druid監控,在監控頁面上可以看到查詢次數和查詢時間 1.查詢次數太多的就放到快取裡,我們曾經遇到過一條特別不起眼的SQL查詢特別慢,後來發現他的呼叫特別頻繁,因為好幾個服務
Mysql SQL查詢效能調優(一)
MYSQL效能調優 varchar型別的欄位在編寫SQL時,一定要加單引號,否則如果該欄位是索引的話,則不起作用,在大數量查詢時,效能很差 PS:大坑 建立必要的索引提高SQL查詢效能 主鍵(聚集)索引、非聚集索引(普通索引,唯一索引,全