mysql 报表统计sql使用实例_mysql 案例~mysql元数据的sql统计
一 簡介:今天我們來收集下提取元數(shù)據(jù)的sql
二 前沿: information_schema? 引擎 memory 元數(shù)據(jù)收集表
三 sql語句:
1#沒有使用索引的表統(tǒng)計
SELECT t.TABLE_SCHEMA,t.TABLE_NAME,t.TABLE_ROWS FROM information_schema.tables AS t LEFT JOIN (SELECT DISTINCT table_schema, table_name FROM information_schema.`KEY_COLUMN_USAGE` ) AS kt ON kt.table_schema=t.table_schema AND kt.table_name = t.table_name WHERE t.table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'test') AND kt.table_name IS NULL\G;
2#查看存儲過程和函數(shù)
select routine_name,ROUTINE_SCHEMA,ROUTINE_TYPE from routines;
3 #查看使用myisam的表
select table_schema,table_name from information_schema.TABLES where ENGINE='MyISAM' and table_schema NOT IN ('information_schema','performance_schema','mysql')
4 #查看沒有使用主鍵的表統(tǒng)計
SELECT t.table_schema,t.table_name,t.engine,IF(ISNULL(c.constraint_name),'NOPK','') AS nopk,IF(s.index_type = 'FULLTEXT','FULLTEXT','') as ftidx,IF(s.index_type = 'SPATIAL','SPATIAL','') as gisidx FROM information_schema.tables AS t LEFT JOIN? ? ? ? ? ? information_schema.key_column_usage AS c ON (t.table_schema = c.constraint_schema AND t.table_name = c.table_name AND c.constraint_name = 'PRIMARY') LEFT JOIN information_schema.statistics AS s ON (t.table_schema = s.table_schema AND t.table_name = s.table_name AND s.index_type IN ('FULLTEXT','SPATIAL')) WHERE t.table_schema NOT IN ('information_schema','performance_schema','mysql') AND t.table_type = 'BASE TABLE' AND c.constraint_name IS NULL ORDER BY t.table_schema,t.table_name;
5 #行數(shù)據(jù)前10統(tǒng)計的表
SELECT table_schema,table_name,table_rows,data_length,index_length,CONCAT(ROUND((data_length+index_length)/(1024*1024),2),'M') AS 'Total',CONCAT(ROUND(DATA_FREE/(1024*1024),2),'M') FROM information_schema.TABLES where table_schema not in ('information_schema','mysql','performance_schema','test') order by table_rows desc limit 10;
6 #查看主外鍵約束
SELECT C.TABLE_SCHEMA,C.REFERENCED_TABLE_NAME,C.REFERENCED_COLUMN_NAME,C.TABLE_NAME,C.COLUMN_NAME,C.CONSTRAINT_NAME,T.TABLE_COMMENT,R.UPDATE_RULE,R.DELETE_RULE FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE C JOIN INFORMATION_SCHEMA.TABLES T ON T.TABLE_NAME = C.TABLE_NAME JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS R ON R.TABLE_NAME = C.TABLE_NAME AND R.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND R.REFERENCED_TABLE_NAME = C.REFERENCED_TABLE_NAME WHERE C.REFERENCED_TABLE_NAME IS NOT NULL;
7 #查看觸發(fā)器
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
8 #查看表整體(可以查看分區(qū)和具體約束)
SELECT %s as host,a.table_schema,a.table_name,c.CONSTRAINT_NAME,a.TABLE_TYPE,a.table_rows,c.CONSTRAINT_TYPE,CONCAT(ROUND((a.data_length+a.index_length)/(1024*1024),2),'M') AS 'Total',a.DATA_FREE,a.TABLE_COLLATION,b.PARTITION_NAME,b.PARTITION_EXPRESSION,b.PARTITION_METHOD,ENGINE FROM information_schema.TABLES a left join information_schema.PARTITIONS b on a.table_name=b.table_name left join information_schema.TABLE_CONSTRAINTS c on a.table_name=c.table_name where a.table_schema not in ('information_schema','mysql','performance_schema','test') group by a.table_name;
四 相關(guān)解釋:
1 sql1語句收集沒有任何索引的表(包括主鍵),這種表是非常危險的,應(yīng)該避免出現(xiàn)
2 sql2語句收集存儲過程和函數(shù),有利于線上的規(guī)范
3 sql3 語句收集myisam表引擎的表,這種表會引起大量的表級鎖,應(yīng)該避免出現(xiàn)
4 sql4 語句收集沒有主鍵的表,這種表會引起性能問題,應(yīng)該避免出現(xiàn)
5 sql5 語句收集大表前10,大表對于mysql的性能影響很關(guān)鍵,應(yīng)該盡量減少大表的出現(xiàn)
6 sql6 語句收集主外鍵約束的表,擁有主外鍵約束的表可以影響手動DML操作,DBA應(yīng)該注意
7 sql7 語句收集觸發(fā)器的表,用戶觸發(fā)器的表是無法應(yīng)用pt工具的,DBA應(yīng)該注意
8 收集整體表(可以查看分區(qū)和約束),關(guān)于數(shù)據(jù)庫表的整體查看
五 設(shè)計
可以設(shè)計相關(guān)表收集這些數(shù)據(jù)進行展示,會進一步補充
六 這是我對于元數(shù)據(jù)收集的理解
mysql 案例 ~ mysql字符集詳解
一 談?wù)刴ysql常見的字符集問題 二 字符集統(tǒng)一? 1 character_set_server? 2 character_set_client? 3 java/php等連接字符集? 4 chara ...
mysql案例~mysql主從復(fù)制延遲概總
淺談mysql主從復(fù)制延遲 1 概念解讀 需要知道以下幾點 1 mysql的主從同步上是異步復(fù)制,從庫是串行化執(zhí)行 2 mysql 5.7的并行復(fù)制能加速從庫重做的速度,進一步緩解 主從同步的延遲問題 ...
mysql 案例~mysql主從復(fù)制延遲處理(2)
一 簡介:今天來聊聊周期性從庫延遲的問題,是上一篇的基礎(chǔ)分析的一個場景 二 背景:近期每天的指定時間段,收到從庫延遲的報警,然后過一段時間恢復(fù).由于從庫是提供讀服務(wù)的,所以需要解決 三 分析思路: 1 ...
mysql 案例~ mysql故障恢復(fù)
一 :遇到一個朋友的案例 分享下處理流程 二 : 現(xiàn)象 1 mysql無法啟動,觀察日志發(fā)現(xiàn) InnoDB: Failing assertion: !m_fatal InnoDB: We intent ...
mysql 案例 ~ mysql常見日志錯誤
一 簡介: mysql note級別日志匯總二錯誤系列? 1 Aborted connection? ? 1 [Note] Aborted connection 61 to db: 'unconnec ...
mysql 案例 ~ mysql主從復(fù)制錯誤問題
簡介 mysql主從不同步的幾種情況 一? 具體情況? ?1 主庫有memory引擎的內(nèi)存表? ? ? 分析 由于memory表的數(shù)據(jù)存放在內(nèi)存中,一旦主庫數(shù)據(jù)丟失,從庫可能就會發(fā)生數(shù)據(jù)復(fù)制異常? ? ...
使用mysql存放Ambari元數(shù)據(jù)的配置案例
使用mysql存放Ambari元數(shù)據(jù)的配置案例 作者:尹正杰 版權(quán)聲明:原創(chuàng)作品,謝絕轉(zhuǎn)載!否則將追究法律責(zé)任. 一.環(huán)境準(zhǔn)備 ? 詳情請參考我之前的筆記:離線方式部署Ambari2.6.0.0?中關(guān) ...
MySQL服務(wù) - MySQL列類型、SQL模式、數(shù)據(jù)字典
MySQL列類型的作用: 列類型可以簡單理解為用來對用戶往列種存儲數(shù)據(jù)時做某種范圍"限定",它可以定義數(shù)據(jù)的有效值(字符.數(shù)字等).所能占據(jù)的最大存儲空間.字符長度(定長或變長). ...
mysql基礎(chǔ)-數(shù)據(jù)類型和sql模式-學(xué)習(xí)之(三)
0x01 mysql的兩種方向: 開發(fā)DBA:數(shù)據(jù)庫設(shè)計(E-R關(guān)系圖).sql開發(fā).內(nèi)置函數(shù).存儲歷程(存儲過程和存儲函數(shù)).觸發(fā)器.時間調(diào)度器(event scheduler) 運維----> ...
隨機推薦
檢查PHP文件中是否含有bom的PHP函數(shù)
SQL提示介紹-強制并行
查詢提示一直是個很有爭議的東西,因為他影響了sql server 自己選擇執(zhí)行計劃.很多人在問是否應(yīng)該使用查詢提示的時候一般會被告知慎用或不要使用...但是個人認為善用提示在不修改語句的條件下,是常用 ...
Altium Designer 多個輸出相連等問題報錯解決方法
問題: Altium Designer軟件中,項目編譯時,Message面板出現(xiàn),如下錯誤: Net NetR121_1 contains multiple Output Pins; PC10 con ...
POI設(shè)置邊框
在做一個電子表格時,邊框的設(shè)置有時是必不可少的.這一節(jié)就來介紹邊框,設(shè)置時,可以指定邊框的位置,邊框的種類,邊框的顔色. 首先是邊框的位置和種類.對單元格設(shè)置邊框時,有上下左右位置之分,所以POI也準(zhǔn) ...
(轉(zhuǎn))iOS學(xué)習(xí)之 plist文件的讀寫
在做iOS開發(fā)時,經(jīng)常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,屬性列表文件,它是一種用來存儲串行化后的對象的文件.屬性列表文件的擴展名為.plist ...
input里面check 狀態(tài)檢測
if($("#check_status").attr('checked')) //檢測checkbox狀態(tài) { //checked狀態(tài) }else { //不是checked狀態(tài) ...
ASP.NET中的C#基礎(chǔ)知識
ASP.NET中的C#基礎(chǔ)知識 說明:asp.net作為一種開發(fā)框架現(xiàn)在已經(jīng)廣為應(yīng)用,其開發(fā)的基礎(chǔ)除了前端的html.css.JavaScript等后端最重要的語言支持還是C#,下面將主要用到的基礎(chǔ)知 ...
ZooKeeper數(shù)據(jù)結(jié)構(gòu)
Time in ZooKeeper ZooKeeper跟蹤時間的多種方式 1)Zxid:每個ZooKeeper狀態(tài)變化將會接收到一個zxid(ZooKeeper Transaction Id)的時間戳 ...
HTML5和CSS基礎(chǔ)
1 HTML 基本語法 html標(biāo)簽 單標(biāo)簽 . 雙標(biāo)簽 屬性 屬于標(biāo)簽
pylot 學(xué)習(xí)筆記-使用
Console and Blocking Mode - Command Line Options: usage: run.py [options] args -a, --agents=NUM_AGEN ...
總結(jié)
以上是生活随笔為你收集整理的mysql 报表统计sql使用实例_mysql 案例~mysql元数据的sql统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bagent.exe进程安全吗 bage
- 下一篇: Linux+Docker+腾讯云/阿里云