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
- MySQL5.6 5.7使用者臨時表 對比MySql
- MySQL 5.7 索引優化MySql索引優化
- mysql對資料庫表建索引MySql資料庫索引
- 【Mysql】MySQL 5.7新特性之Generated Column(函式索引)MySql函式索引
- 使用Docker Mysql 5.7DockerMySql
- MySQL 對大表做歸檔MySql
- MySQL 5.7 查詢InnoDB鎖表MySql
- MySQL 5.6使用pt-online-schema-change線上修改大表欄位長度MySql
- MySQL 5.7 ANALYZE TABLE分析索引的統計資訊MySql索引
- MySQL 5.6對大表做歸檔MySql
- MySQL8.0大表秒加欄位,是真的嗎?MySql
- MySQL管理表和索引MySql索引
- Mysql索引使用MySql索引
- MySQL5.7 虛擬列實現表示式索引MySql索引
- MySQL ONLINE DDL 和PT-ONLINE-SCHEMA-CHANGE對比MySql
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- 5.7 mysql的可傳輸表空間MySql
- MySql索引使用策略MySql索引
- Mysql——index(索引)使用MySqlIndex索引
- 技術分享 | MySQL 大表新增唯一索引的總結MySql索引
- Oracle大表快速建立索引Oracle索引
- Mysql建表、索引、函式、查詢使用中的坑!!!MySql索引函式
- MySQL 5.7新支援--通用表空間實戰MySql
- 【MySQL】MySQL 5.7 初探MySql
- MySQL 表與索引設計攻略MySql索引
- oracle 巢狀表 索引表 使用Oracle巢狀索引
- mysql5.7 General tablespace使用說明MySql
- MySql如何使用索引(二)MySql索引
- MySql如何使用索引(一)MySql索引
- mysql索引使用基礎MySql索引
- MySQL 禁止使用 HASH 索引MySql索引
- MySQL 避免行鎖升級為表鎖——使用高效的索引MySql索引
- 【原創】MySQL5.7 虛擬列實現表示式索引薦MySql索引
- Mysql索引以及使用索引注意事項MySql索引
- MySQL 的覆蓋索引與回表MySql索引
- MySQL建庫建表索引規範MySql索引
- MySQL索引失效行鎖變表鎖MySql索引