mysql億級資料遷移

2021-10-10 08:34:16 字數 1882 閱讀 9865

背景:mysql5.6 + 分庫分表 + 跨資料庫例項,要求線上遷移+切換功能

-- 檢視各資料庫占用磁碟空間大小

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

table_schema

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

--  檢視資料庫中各表所佔磁碟空間大小

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

;

table_name

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對大量文字進行分類,這...