MySQL 5.7使用pt-online-schema-change對大表加索引
業務需求:
線上對MySQL 5.7的一個大表加索引。
普通加索引方式,適合於小表:
ALTER TABLE `EMP`
ADD INDEX IDX_EMP_ORDERSYSNO (ORDERSYSNO) USING BTREE;
對大表需要使用pt-online-schema-change工具,可以不鎖表。
加組合欄位索引:
[root@DB02 ~]# pt-online-schema-change --user=root --password=123456 --host=192.168.1.18 --alter "ADD INDEX IDX_DOSTELLE_ST (SEGMENT,transaction) USING BTREE" D=ora,t=dostelle --no-check-replication-filters --execute --charset=utf8 --max-load=Threads_running=20
加單一欄位索引:
[root@DB001 ~]# pt-online-schema-change --user=root --password=XXX --host=192.168.1.98 --alter "ADD INDEX IDX_ORDERID (ORDERID) USING BTREE" D=ora,t=idemp --no-check-replication-filters --execute --charset=utf8 --max-load=Threads_running=20
Found 1 slaves:
localhost.localdomain -> 192.168.1.99:socket
Will check slave lag on:
localhost.localdomain -> 192.168.1.99:socket
Operation, tries, wait:
analyze_table, 10, 1
copy_rows, 10, 0.25
create_triggers, 10, 1
drop_triggers, 10, 1
swap_tables, 10, 1
update_foreign_keys, 10, 1
Altering `ora`.`idemp`...
Creating new table...
Created new table ora._idemp_new OK.
Altering new table...
Altered `ora`.`_idemp_new` OK.
2021-02-01T11:33:58 Creating triggers...
2021-02-01T11:34:40 Created triggers OK.
2021-02-01T11:34:40 Copying approximately 6915514 rows...
Copying `ora`.`idemp`: 11% 04:01 remain
Copying `ora`.`idemp`: 20% 03:46 remain
Copying `ora`.`idemp`: 31% 03:18 remain
Copying `ora`.`idemp`: 41% 02:49 remain
Copying `ora`.`idemp`: 50% 02:25 remain
Copying `ora`.`idemp`: 60% 01:59 remain
Copying `ora`.`idemp`: 70% 01:29 remain
Copying `ora`.`idemp`: 80% 00:58 remain
Copying `ora`.`idemp`: 90% 00:29 remain
Copying `ora`.`idemp`: 99% 00:00 remain
2021-02-01T11:50:59 Copied rows OK.
2021-02-01T11:50:59 Analyzing new table...
2021-02-01T11:50:59 Swapping tables...
2021-02-01T11:51:13 Swapped original and new tables OK.
2021-02-01T11:51:13 Dropping old table...
2021-02-01T11:51:14 Dropped old table `ora`.`_idemp_old` OK.
2021-02-01T11:51:14 Dropping triggers...
2021-02-01T11:51:14 Dropped triggers OK.
Successfully altered `ora`.`idemp`.
You have mail in /var/spool/mail/root
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2755009/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 5.7使用pt-online-schema-change對大表加欄位MySql
- MySQL 5.6使用pt-online-schema-change線上修改大表欄位長度MySql
- mysql為什麼加索引就能快MySql索引
- MySQL 對大表做歸檔MySql
- Mysql索引使用MySql索引
- MySQL管理表和索引MySql索引
- Mysql效能優化:如何給字串加索引?MySql優化字串索引
- MySQL 5.6對大表做歸檔MySql
- MySQL索引那些事:什麼是索引?為什麼加索引就查得快了?MySql索引
- MySql索引使用策略MySql索引
- MySQL8.0大表秒加欄位,是真的嗎?MySql
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- Mysql建表、索引、函式、查詢使用中的坑!!!MySql索引函式
- 技術分享 | MySQL 大表新增唯一索引的總結MySql索引
- MySQL 表與索引設計攻略MySql索引
- MySQL 禁止使用 HASH 索引MySql索引
- mysql索引使用基礎MySql索引
- MySql如何使用索引(一)MySql索引
- MySql如何使用索引(二)MySql索引
- MySQL 5.7新支援--通用表空間實戰MySql
- Oracle大表快速建立索引Oracle索引
- mysql5.7 General tablespace使用說明MySql
- Mysql索引以及使用索引注意事項MySql索引
- MySQL 覆蓋索引、回表查詢MySql索引
- MySQL 的覆蓋索引與回表MySql索引
- MySQL索引失效行鎖變表鎖MySql索引
- MySQL建庫建表索引規範MySql索引
- MySQL的索引原理及使用MySql索引
- MySQL全文索引的使用MySql索引
- MySQL效能優化 - 別再只會說加索引了MySql優化索引
- 圖解MySQL索引(三)—如何正確使用索引?圖解MySql索引
- Linux使用原始碼來安裝MySQL 5.7Linux原始碼MySql
- MySQL 5.5使用者遷移到5.7使用者MySql
- MySQL效能基準測試對比:5.7 VS 8.0MySql
- 表資料量影響MySQL索引選擇MySql索引
- MySQL 索引使用策略及優化MySql索引優化
- mysql索引使用經驗總結MySql索引
- mysql索引的使用和優化MySql索引優化