成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

實例講解MySQL統計庫表大小

瀏覽:90日期:2023-10-14 10:48:28

統計每個庫每個表的大小是數據治理的其中最簡單的一個要求,本文將從抽樣統計結果及精確統計結果兩方面來統計MySQL的每個庫每個表的數據量情況。

1、統計預估數據量

mysql數據字典庫information_schema里記錄了統計的預估數據量(innodb引擎表不準確,MyISAM引擎表準確)及數據大小、索引大小及表碎片的大小等信息。

如果想了解每個庫及表的大概數據量級,可以直接查information_schema.tables進行統計即可。例如:

SELECT table_schema,table_name,table_rows,data_length+index_length+ data_free data_size FROM information_schema.`TABLES` WHERE table_schema IN (’db1’,’db2’);

其中data_size單位為B

實例講解MySQL統計庫表大小

如上文所述,統計信息里的數據條數及size是根據部分數據抽樣統計的值,與實際大小存在差異,且表越大,差異越明顯,如果想知道每張表的實際情況,需用后續的方法。

2、統計實際數據量

想要統計每張表的實際大小就得去遍歷每個表算出對的記錄數,通過查看表空間大小(每個表獨立表空間)查看每個表的size。通過以下步驟即可達到精確統計的目的。

創建路徑

創建一個工作路徑,保存腳本及臨時文件等

mkdir -p /usr/local/data_size

創建統計庫及表

在需要統計的數據庫實例上創建統計庫

SQL> create database bak_db;

創建統計的存儲過程

SQL> use bak_db;SQL>CREATE PROCEDURE `p_db_size`()BEGINDECLARE v_id INT;DECLARE v_maxid INT;DECLARE v_tbname VARCHAR(50);DECLARE v_dbname VARCHAR(50);DECLARE v_sql_upd VARCHAR(200);SET v_id =(SELECT MIN(id) FROM bak_db.tb_size);SET v_maxid =(SELECT MAX(id) FROM bak_db.tb_size);WHILE v_id <=v_maxidDOSET v_tbname = (SELECT tbname FROM bak_db.tb_size WHERE id=v_id);SET v_dbname = (SELECT dbname FROM bak_db.tb_size WHERE id=v_id);SET v_sql_upd = CONCAT(’update bak_db.tb_size set tb_rows=(select count(*) from ’,v_dbname,'.',v_tbname,') where id=',v_id); SET @v_sql_upd := v_sql_upd; PREPARE stmt FROM @v_sql_upd; EXECUTE stmt ; DEALLOCATE PREPARE stmt; SET v_id = v_id +1;END WHILE; END;

創建腳本

vim data.sh/* 插入如下內容*/#! /bin/bashcd /usr/local/data_sizedu -s /data/mysql/mysql3306/data/db1/* |grep -v '.frm' |grep -v '.opt' >/usr/local/data_size/data_size du -s /data/mysql/mysql3306/data/db2/* |grep -v '.frm' |grep -v '.opt'>>/usr/local/data_size/data_size# 后面4步是拼接成sql awk ’{print 'insert into bak_db.tb_size(size,tb_route)values('''$0}’ /usr/local/data_size/data_size >/usr/local/data_size/data_size1 awk ’{print $0';'}’ /usr/local/data_size/data_size1 >/usr/local/data_size/data_size.sqlsed -i 's#t#,’#g' /usr/local/data_size/data_size.sqlsed -i 's#;#’);#g' /usr/local/data_size/data_size.sql# 創建統計表 /usr/local/mysql5.7/bin/mysql -uroot -p’Test#123456’ -h 192.168.28.132 -e 'drop table if exists bak_db.tb_size;CREATE TABLE IF NOT EXISTS bak_db.tb_size ( id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT ,size INT,tb_route VARCHAR(200),tbname VARCHAR(50),dbname VARCHAR(50),tb_rows INT(11));' # 導入數據 /usr/local/mysql5.7/bin/mysql -uroot -p’Test#123456’ -h 192.168.28.132 -e 'use bak_db;truncate table bak_db.tb_size;source /usr/local/data_size/data_size.sql;'# 生成庫名及表名,當然該步驟也可以從數據字段中獲取 /usr/local/mysql5.7/bin/mysql -uroot -p’Test#123456’ -h 192.168.28.132 -e 'use bak_db;UPDATE bak_db.tb_size SET tbname=REPLACE(SUBSTRING_INDEX(tb_route,’/’,-1),’.ibd’,’’);' /usr/local/mysql5.7/bin/mysql -uroot -p’Test#123456’ -h 192.168.28.132 -e 'UPDATE bak_db.tb_size SET dbname=LEFT (SUBSTRING_INDEX(tb_route,’/’,-2),INSTR(SUBSTRING_INDEX(tb_route,’/’,-2),’/’)-1);'sleep 10 # 如果之前的步驟在主庫金學習學習,則建議暫停一段時間 以免后面統計的時候無法獲得表及內容,如果前面的步驟都在從庫,則可以省略該步驟echo ’start call procedure’ # 調用存儲過程 統計每個表的記錄條數/usr/local/mysql5.7/bin/mysql -uroot -p’Test#123456’ -h 192.168.28.132 -e 'use bak_db;call bak_db.p_db_size();'# 把表及數據導出/usr/local/mysql5.7/bin/mysqldump -uroot -p’Test#123456’ -h 192.168.28.132 --single-transaction bak_db tb_size >/usr/local/data_size/tb_size.sql# 將表及結果導入主庫(從庫相當于刪除在重建了一次)/usr/local/mysql5.7/bin/mysql -uroot -p’Test#123456’ -h 192.168.28.128 -e 'use bak_db;source /usr/local/data_size/tb_size.sql;'

結果如下:

實例講解MySQL統計庫表大小

可以看出精確值與統計信息里的值差異還是很大的,且表越大 差異越明顯。

TIPS: 本文精確統計的腳本還有許多優化空間,寫的比較倉促,大家可以按需自行調整,水平有限,歡迎斧正。如有問題,歡迎與我溝通。

以上就是實例講解MySQL統計庫表大小的詳細內容,更多關于MySQL統計庫表大小的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日本一二三四高清不卡| 极品日韩久久| 亚洲国产精品久久久男人的天堂| 国产自产2019最新不卡| 久久久国产精品一区二区三区| 国产精品初高中害羞小美女文| 不卡电影一区二区三区| 91原创在线视频| 精品电影一区二区三区 | 国产精品久久99| 91蜜桃在线免费视频| 日韩视频免费观看高清完整版在线观看| 亚洲一区视频在线| 影音先锋久久精品| 一区二区中文视频| 欧美在线三区| 亚洲精品一区二区三区影院| 国产成人亚洲综合a∨婷婷| 欧美区一区二区三区| 美女国产一区二区三区| 91福利区一区二区三区| 日日夜夜一区二区| 久久蜜桃资源一区二区老牛| 亚洲综合在线视频| 国产伦理一区| 一区二区欧美在线观看| 一本色道久久综合| 亚洲精品中文在线影院| 最新亚洲一区| 亚洲另类中文字| 国产一区二区黄色| 亚洲电影欧美电影有声小说| 久久国产手机看片| 日韩福利电影在线| 在线看不卡av| 国产一区美女在线| 日韩欧美自拍偷拍| www.欧美色图| 国产日韩欧美高清| 欧美午夜影院| 一二三四社区欧美黄| 国产精品一级久久久| 亚洲欧美激情插| 亚洲欧洲日本国产| 亚洲精品乱码久久久久久黑人| 国产欧美丝祙| 日韩1区2区3区| 欧美日韩国产一二三| 福利91精品一区二区三区| 精品捆绑美女sm三区| 色综合色狠狠天天综合色| 欧美高清在线一区| 18成人免费观看视频| 亚洲一区二区三区四区在线观看 | 国产精品久久国产三级国电话系列| 亚洲影视在线播放| 91福利在线看| 国产精品主播直播| 久久久亚洲午夜电影| 国产精品va| 亚洲精品午夜久久久| 色哟哟国产精品免费观看| 麻豆国产一区二区| 欧美一区二区三区在线观看| 处破女av一区二区| 国产精品免费免费| 免费在线国产精品| 国产乱色国产精品免费视频| 2024国产精品| 亚洲激情不卡| 免费成人在线视频观看| 日韩午夜小视频| 欧美精品自拍| 亚洲成人av一区二区| 欧美精品日韩一区| 国产亚洲自拍一区| 国产欧美日韩一级| 国产自产视频一区二区三区| 欧美精品一区二区久久久| 亚洲黄色三级| 麻豆精品久久精品色综合| 亚洲精品在线观看视频| 国产精品成人一区二区网站软件 | 欧美一区二区三区啪啪| 菠萝蜜视频在线观看一区| 国产欧美日韩在线看| 欧美综合77777色婷婷| 国产一区二区三区四区在线观看| 国产喂奶挤奶一区二区三区| 国产嫩草一区二区三区在线观看 | 精品在线观看免费| 国产精品免费看片| 欧美亚洲一区二区在线观看| 色综合久久综合网欧美综合网| 午夜不卡在线视频| 国产视频911| 欧美性大战xxxxx久久久| 欧美日韩亚洲一区三区| 久久国产精品72免费观看| 国产精品久久久久久久久久久免费看| 欧美视频三区在线播放| 亚洲高清在线播放| 国产xxx精品视频大全| 亚洲高清在线视频| 久久影院午夜论| 色噜噜偷拍精品综合在线| 91免费在线看| 极品销魂美女一区二区三区| 亚洲久本草在线中文字幕| 日韩三级伦理片妻子的秘密按摩| 国产精品试看| 91麻豆成人久久精品二区三区| 日本不卡高清视频| 中文字幕中文字幕中文字幕亚洲无线| 欧美精品自拍偷拍动漫精品| 欧美激情日韩| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩午夜在线| 一区二区三区av电影| 久久国产日韩欧美| 成人精品在线视频观看| 国产网站一区二区| 色噜噜狠狠成人中文综合| 99久久婷婷国产综合精品电影| 亚洲精品免费在线观看| 欧美性一区二区| 91麻豆福利精品推荐| 天堂一区二区在线| 欧美精品一区二区久久久| 亚洲一区二三| 成人高清视频在线| 亚洲午夜在线观看视频在线| 欧美日本精品一区二区三区| 国产综合欧美在线看| 国内精品久久久久影院薰衣草| 国产精品久久久久影视| 欧美中文字幕一区二区三区亚洲| 精品91在线| 国产伦精一区二区三区| 亚洲精品视频自拍| 欧美成人video| 国产精品亚洲产品| 国产98色在线|日韩| 美女高潮久久久| 伊人性伊人情综合网| 精品久久五月天| 色妞www精品视频| 9久草视频在线视频精品| 亚洲成av人片一区二区| 国产日韩欧美一区在线| 欧美久久久久| 国产电影一区二区三区| 午夜精品久久久久久久| 国产欧美视频一区二区| 欧美一区二区三区在| 日韩午夜高潮| 91久久极品少妇xxxxⅹ软件| 成人听书哪个软件好| 日本特黄久久久高潮| 中文字幕在线观看不卡| 日韩欧美一区电影| 国产精品久久亚洲7777| 一区在线免费观看| 成人av先锋影音| 免费在线观看日韩欧美| 日韩毛片一二三区| 日韩欧美国产综合| 91高清视频在线| 国产精品久久久久久久久久妞妞| 欧美二区视频| 成人动漫一区二区| 狠狠色丁香九九婷婷综合五月| 琪琪一区二区三区| 亚洲精品视频观看| 欧美国产精品一区二区三区| 日韩一区二区电影网| 欧美日韩亚洲综合在线 | 中文字幕日韩精品一区| 欧美精品一区二| 在线播放欧美女士性生活| 欧美一级视频| 久久青青草综合| 午夜亚洲性色福利视频| 国产欧美日韩亚洲| 亚洲视频中文| 91首页免费视频| 欧美国内亚洲| 99久久99久久精品免费观看| 国产精品亚洲第一区在线暖暖韩国| 久久精品国产99国产| 亚洲图片欧美色图| 亚洲欧美韩国综合色| 国产女人aaa级久久久级 | 久久国产生活片100| 亚洲成人一区二区在线观看| 亚洲精品你懂的| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 狠狠色2019综合网| 国产老妇另类xxxxx| 国产在线观看一区二区|