背景:mysql5.6 + 分庫分表 + 跨資料庫例項,要求線上遷移+切換功能
table_schema-- 檢視各資料庫占用磁碟空間大小
select
table_schema,
concat(
truncate
(sum
(data_length)
/1024
/1024,2
),' mb'
)as data_size,
concat(
truncate
(sum
(index_length)
/1024
/1024,2
),'mb'
)as index_size
from information_schema.
tables
group
by table_schema
order
by data_size desc
data_size
index_size
learn
27.62 mb
0.06mb
mysql
2.23 mb
0.22mb
information_schema
0.15 mb
0.00mb
sys0.01 mb
0.00mb
performance_schema
0.00 mb
0.00mb
table_name-- 檢視資料庫中各表所佔磁碟空間大小
select
table_name,
concat(
truncate
(data_length/
1024
/1024,2
),' mb'
)as data_size,
concat(
truncate
(index_length/
1024
/1024,2
),' mb'
)as index_size
from information_schema.
tables
where table_schema =
'learn'
order
by data_size desc
;
data_size
index_size
test_index
27.56 mb
0.00 mb
pay_deduction_flow
0.01 mb
0.01 mb
nmc_task_prog
0.01 mb
0.03 mb
nmc_task_act
0.01 mb
0.01 mb
nmc_act_mab
0.01 mb
0.00 mb
如果有mysql控制台,直接觀察肯定是更好的了,像godendb,drds之類的,都可以在控制台看到磁碟空間水位
資料遷移一定要預估遷移處位置是否足夠,防止撐爆磁碟空間
具體計算方式可以參考這篇部落格,有提供相應的建表語句,以及索引建造及檢視表空間大小的測驗—> mysql表空間大小計算
唯一索引
資料清理
遷移方式
如果是分庫分表的資料來源,可以考慮將匯出語句下發到指定的分庫分表下,按分庫或者分表匯出多個檔案,同時解析多個檔案,加快解析檔案的速度。
mysql儲存及查詢億級資料
1.基本方法 1.1.正確設計索引 1.2.避免全表掃瞄 1.3.避免limit 100000000,20這樣的查詢 1.4.避免left join之類的查詢,不要將這樣的邏輯處理交給資料庫 1.5.每個表的鍵不要太多,大資料時會增加資料庫的壓力 2.資料表優化 2.1.採用分表技術 大表分小表 1...
使用Python Pandas處理億級資料
在資料分析領域,最熱門的莫過於python和r語言,此前有一篇文章 別老扯什麼hadoop了,你的資料根本不夠大 指出 只有在超過5tb資料量的規模下,hadoop才是乙個合理的技術選擇。這次拿到近億條日誌資料,千萬級資料已經是關係型資料庫的查詢分析瓶頸,之前使用過hadoop對大量文字進行分類,這...
使用Python Pandas處理億級資料
在資料分析領域,最熱門的莫過於python和r語言,此前有一篇文章 別老扯什麼hadoop了,你的資料根本不夠大 指出 只有在超過5tb資料量的規模下,hadoop才是乙個合理的技術選擇。這次拿到近億條日誌資料,千萬級資料已經是關係型資料庫的查詢分析瓶頸,之前使用過hadoop對大量文字進行分類,這...