当前位置: 首页 > news >正文

pt-online-schema-change无锁变更及腾讯云的dmc数据库操作,字段加索引查询 500kb限制

pt-online-schema-change无锁变更及腾讯云的dmc数据库操作,字段加索引查询 500kb限制

pt-online-schema-change无锁变更及腾讯云的dmc数据库操作,字段加索引查询 500kb限制

1.需求背景
根据会员号统计收益,订单数等,sql复杂,查询比较慢。
在执行查询之前,未对explain分析索引,先提了一个腾讯云的导出工单,埋下的隐患。
工单一直卡住,查询不出来,因为有大表的会员号字段未加索引导致。
同时发现在sql窗口,连基本的count查询表的数量,都查询不出来。
更加不用说提了sql alter变更 会员号的字段加索引了。

在尝试变更查询条件方向上,总不能遇到了问题,绕道而行,那么问题依然还是存在。
咨询了腾讯云的值班客服,通过以下的2个,分析进行中的sql是不是卡住了,然后提工单(数据库可以选当前查询的数据库),kill掉这个进程。【关键】
然后问题解决了。 因为这个没有解决,使用pt-online-schema-change 在执行创建触发器的过程中(Creating triggers...),也是卡死的状态。

##这两个查询结果不同

##不要使用这个
SHOW PROCESSLIST;##正解的使用这个,这个查询的结果更加全面,可以看到一个大的导出的sql卡死了,就是最上面提的导出工单而未加字段索引的sql  
SELECT * FROM information_schema.PROCESSLIST;SELECT * FROM information_schema.PROCESSLIST;##提工单来杀掉进程。
kill 13389147

腾讯云查询sql的工单限制:500kb

sql太多的话,首先无法提交。
如果提交了,但是超出了数量,也是查询不出来结果,卡死状态。
比如根据会员号查询会员信息,会员号1万个可以提交,但是无法查询,
如果是6千个,可以提交可以查询。
所以就会发生一个sql的查询需要根据会员号来拆分,比如:2万4个,则需要拆分出来按4次来查询。

另外避免大量的查询,则简化查询的需求,比如是统计优质车主,那么可以先过滤掉接单数小于100的车主,
这样数量直接从2万4,下降到660个。

最后按会员号作为唯一关联字段,按字段需求的需要单独来查询,然后根据会员号在excel表格中vlookup来匹配关联上。

 

pt-online-schema-change的无锁变更的命令使用:
首先需要在服务器上面安装,pt-online-schema-change 在此跳过,认为已经安装过了。

1.通过工具来解决:
pt-online-schema-change --host=172.XX.23.XX --port=3306 --user=账号 --password=密码 D=mydb,t=my_test_table --alter "ADD INDEX idx_memNo(mem_no)" --dry-run --recursion-method=none 
pt-online-schema-change --host=172.XX.23.XX --port=3306 --user=账号 --password=密码 D=mydb,t=my_test_table --alter "ADD INDEX idx_memNo(mem_no)" --execute --recursion-method=none --dry-run 是测试命令
--execute 是执行命令
--set-vars="character_set_client=utf8mb4,character_set_connection=utf8mb4,character_set_results=utf8mb4"      # 表的注释就不会乱码了注意点:用户名和密码要用高权限的账号
--alter  可以多个  比如一个表你要加多个字段或者多个变更 可以写多次
--alter "ADD COLUMN platform_type varchar(50) DEFAULT NULL COMMENT '类型app或h5', ADD COLUMN os varchar(255) DEFAULT NULL COMMENT 'os类型ANDROID,IOS,miniprogram-alipay等'"2.测试的执行过程:
pt-online-schema-change --host=172.XX.23.XX --port=3306 --user=账号 --password=密码 D=mydb,t=my_test_table --alter "ADD INDEX idx_memNo(mem_no)" --dry-run --recursion-method=none 
Operation, tries, wait:analyze_table, 10, 1copy_rows, 10, 0.25create_triggers, 10, 1drop_triggers, 10, 1swap_tables, 10, 1update_foreign_keys, 10, 1
Starting a dry run.  `mydb`.`my_test_table` will not be altered.  Specify --execute instead of --dry-run to alter the table.
Creating new table...
Created new table mydb._my_test_table_new OK.
Altering new table...
Altered `mydb`.`_my_test_table_new` OK.
Not creating triggers because this is a dry run.
Not copying rows because this is a dry run.
Not swapping tables because this is a dry run.
Not dropping old table because this is a dry run.
Not dropping triggers because this is a dry run.
2025-10-24T14:01:44 Dropping new table...
2025-10-24T14:01:44 Dropped new table OK.
Dry run complete.  `mydb`.`my_test_table` was not altered.3.正式的执行过程:
pt-online-schema-change --host=172.XX.23.XX --port=3306 --user=账号 --password=密码 D=mydb,t=my_test_table --alter "ADD INDEX idx_memNo(mem_no)" --execute --recursion-method=none 
No slaves found.  See --recursion-method if host TENCENT64.site has slaves.
Not checking slave lag because no slaves were found and --check-slave-lag was not specified.
Operation, tries, wait:analyze_table, 10, 1copy_rows, 10, 0.25create_triggers, 10, 1drop_triggers, 10, 1swap_tables, 10, 1update_foreign_keys, 10, 1
Altering `mydb`.`my_test_table`...
Creating new table...
Created new table mydb._my_test_table_new OK.
Altering new table...
Altered `mydb`.`_my_test_table_new` OK.
2025-10-24T14:01:57 Creating triggers...
2025-10-24T14:01:57 Created triggers OK.
2025-10-24T14:01:57 Copying approximately 80563 rows...
2025-10-24T14:01:58 Copied rows OK.
2025-10-24T14:01:58 Analyzing new table...
2025-10-24T14:01:58 Swapping tables...
2025-10-24T14:01:58 Swapped original and new tables OK.
2025-10-24T14:01:58 Dropping old table...
2025-10-24T14:01:58 Dropped old table `mydb`.`_my_test_table_old` OK.
2025-10-24T14:01:58 Dropping triggers...
2025-10-24T14:01:58 Dropped triggers OK.
Successfully altered `mydb`.`my_test_table`.

 

http://www.gsyq.cn/news/34921.html

相关文章:

  • 2025年靠谱的自发光材料供应商厂家推荐及采购参考
  • 2025年热门的交流充电桩高评价厂家推荐榜
  • 2025年气动打标针直销厂家权威推荐榜单:进口打标机/高温打标机 /刻划打标机源头厂家精选
  • 统信服务器e和a的区别
  • 20251018模拟赛
  • 2025年口碑好的粉末冶金齿轮厂家实力及用户口碑排行榜
  • Affinity Photo 2.6.5 (macOS, Windows) - 梦寐以求的照片编辑器
  • Affinity Publisher 2.6.5 (macOS, Windows) - 页面布局和设计的强大平台
  • Affinity Designer 2.6.5 (macOS, Windows) - 制作最精美的插图和设计
  • 【格局洞察】2025年10大项目管理软件三分天下:专业、需求、研发,你的赛道在哪?​
  • 基于MATLAB的Q-learning路径规划实现
  • 2025 年水龙头自动抛光机,门执手自动抛光机,锌合金自动抛光机厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 易基因:WGBS+Smart-seq2整合分析揭示抑制卵母细胞CpG高甲基化可保障胚胎正常发育:Dev Cell
  • 2025年评价高的双功能缓冲滑轨厂家最新权威实力榜
  • 隐语SecreFlow SCQL 1.0.0b1 发布:更完善的 SQL 支持与更高效的隐私查询引擎
  • 2025年国内心理教练培训公司推荐榜:心理教练、企业教练、践行力量实力公司精选
  • 2025年知名的负压pp储罐厂家推荐及采购参考
  • 构建AI智能体:五十三、反应式应急+深思式优化:反应速度与规划智慧的平衡 - 详解
  • 2025 年贵州旅游攻略旅行社推荐:贵州客哪点服务解析,定制化体验与品质保障深度测评
  • Launcher 卡片框架多模块集成
  • 从实验室到产线:苏州永创-STD2000X如何统一分立器件静态参数测试仪的“语言”? - FORCREAT
  • 2025年比较好的注水式热水袋厂家最新权威实力榜
  • 2025 年刹车卡钳厂家最新推荐榜,技术实力与市场口碑深度解析,挖掘适配性与制动性能双优品牌
  • 2025 年 10 月高尔夫教练权威推荐榜:专业教学与实战提升口碑之选,助您精准挥杆进阶无忧
  • MyEMS:重塑能源管理格局的智能化利器
  • 2025 年防撞护栏生产厂家最新推荐排行榜:涵盖铝合金 / Q235/Q355B 桥梁及景观、灯光、河道、公路、喷塑、道路护栏企业
  • 成人草书培训市场:北兰亭引领专业风尚
  • 2025年锤片式粉碎机供货厂家权威推荐榜单:食品添加剂‍粉碎机/白糖粉碎机 /五谷杂粮粉碎机源头厂家精选
  • 2025年热门的吸塑塑料托盘TOP品牌厂家排行榜
  • 2025年跨境电商APP权威推荐榜单:海外跨境电商/跨境电商系统/跨境电商开店服务商精选