技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> MySQL 管理工具集 percona-toolkit

MySQL 管理工具集 percona-toolkit

浏览:1485次  出处信息

apt-get install -y percona-toolkit

# 检查重复索引
pt-duplicate-key-checker -host=’sohu.dev.chenpeng.info’ -port=’43307′ -databases=’grape’

# 运行状态监控
pt-mysql-summary -host=’sohu.dev.chenpeng.info’ -port=’43307′ -databases=’grape’

# 在线修改表结构
pt-online-schema-change -host=’sohu.dev.chenpeng.info’ -port=’3306′ -alter “ADD COLUMN c1 INT” D=chenpeng_litchi,t=lc_operate_log -execute -print
pt-online-schema-change -host=’sohu.dev.chenpeng.info’ -port=’3306′ -alter “ENGINE=InnoDB” D=chenpeng_litchi,t=lc_operate_log -execute -print

# 格式化explain结果
mysql -hsohu.dev.chenpeng.info -P43307 grape -e”explain SELECT a.line_id,b.dnf_source FROM gp_report_advertiser_day a INNER JOIN gp_line b ON a.line_id=b.id WHERE a.data_date=’2016-04-10′ LIMIT 100″ | pt-visual-explain

重复索引结果示例:

# ########################################################################
# grape.gp_mars_report_advertiser_hour                                    
# ########################################################################

# line_id is a left-prefix of line_id_data_time
# Key definitions:
#   KEY `line_id` (`line_id`) USING BTREE,
#   KEY `line_id_data_time` (`line_id`,`data_time`) USING BTREE
# Column types:
#      `line_id` bigint(20) unsigned not null comment ‘??id’
#      `data_time` datetime not null comment ‘??’
# To remove this duplicate index, execute:
ALTER TABLE `grape`.`gp_mars_report_advertiser_hour` DROP INDEX `line_id`;

# ########################################################################
# grape.gp_operate_log                                                    
# ########################################################################

# related_id is a left-prefix of search3
# Key definitions:
#   KEY `related_id` (`related_id`),
#   KEY `search3` (`related_id`,`opt_datetime`),
# Column types:
#      `related_id` int(10) unsigned not null comment ‘?????id’
#      `opt_datetime` datetime not null comment ‘??????’
# To remove this duplicate index, execute:
ALTER TABLE `grape`.`gp_operate_log` DROP INDEX `related_id`;

# ########################################################################
# grape.gp_report_advertiser_hour                                        
# ########################################################################

# idx_line_id is a left-prefix of line_id_data_time
# Key definitions:
#   KEY `idx_line_id` (`line_id`),
#   KEY `line_id_data_time` (`line_id`,`data_time`),
# Column types:
#      `line_id` bigint(20) not null
#      `data_time` datetime not null
# To remove this duplicate index, execute:
ALTER TABLE `grape`.`gp_report_advertiser_hour` DROP INDEX `idx_line_id`;

# ########################################################################
# Summary of indexes                                                      
# ########################################################################

# Size Duplicate Indexes   48
# Total Duplicate Indexes  3
# Total Indexes            268


工具检测到gp_operate_log有重复的索引,提供以下SQL语句删除重复的索引:

ALTER TABLE `grape`.`gp_operate_log` DROP INDEX `related_id`;


explain简化显示示例:

root@ubuntu:/tmp/d3OnxmMr# mysql -hsohu.dev.chenpeng.info -P43307 -ugrapeuser -pfaf74223tr grape -e”explain SELECT a.line_id,b.dnf_source FROM gp_report_advertiser_day a INNER JOIN gp_line b ON a.line_id=b.id WHERE a.data_date=’2016-04-10′ LIMIT 100″ | pt-visual-explain
JOIN
+- Filter with WHERE
|  +- Bookmark lookup
|     +- Table
|     |  table          b
|     |  possible_keys  PRIMARY
|     +- Unique index lookup
|        key            b->PRIMARY
|        possible_keys  PRIMARY
|        key_len        4
|        ref            grape.a.line_id
|        rows           1
+- Index lookup
  key            a->data_date
  possible_keys  line_id,data_date
  key_len        3
  ref            const
  rows           10722


建议继续学习:

  1. Mysql监控指南    (阅读:19774)
  2. 分享一个JQUERY颜色选择插件    (阅读:12629)
  3. 服务器性能测试工具推荐    (阅读:6437)
  4. 性能测试工具sysbench简介    (阅读:4730)
  5. 10个最有帮助的在线协同工具    (阅读:4756)
  6. 为什么我认为每个穷网站开发程序员都应该用Linux[工具篇]    (阅读:4646)
  7. 使用PHP_UML生成代码的UML图    (阅读:4184)
  8. 轻量级在线原型设计工具mockingbird    (阅读:4128)
  9. 前端开发小工具集合    (阅读:3862)
  10. 在生产环境中使用php性能测试工具xhprof    (阅读:3633)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1