接手了个新需求检查公司所有库表冗余索引,保存下代码复用。#!/usr/bin/python2.7# -*- coding: utf-8 -*-#liding@xywy.comimport MySQLdbimport sysimport osimport time,datetimeimport loggingimport mysqlcommonpath = sys.path[0]fpa
一、如果表定义的是varchar字段,传入的是数字,则会发生隐式转换。 1、表DDL2、传int的sql3、传字符串的sql仔细看下表结构,rid的字段类型: 而用户传入的是int,这里会有一个隐式转换的问题,隐式转换会导致全表扫描。把输入改成字符串类型,执行计划如下,这样就会很快了。此外,还需要注意的是:数字类型的0001等价于1字符串的0001和1不等价二、如果表定义的是
工具名称:mysqlha_skiperror.sh工具用途:用于MySQL跳过主从错误工具参数:options: -P port 指定端口
online ddl 工具之pt-online-schema-change封装一、原理目前InnoDB引擎是通过以下步骤来进行DDL的:1 按照原始表(original_table)的表结构和DDL语句,新建一个不可见的临时表(tmp_table)2 在原表上加write lock,阻塞所有更新操作(insert、delete、update等)3 执行insert into tmp_table s
工具名称:mysqlha_sysbench.sh工具用途:用于MySQL压力测试 (2种功能:填充数据&&测试数据)工具参数:options:-P 需要测试的端口-D 需要测试的db名字-H 需要测试的host-S 填充&&测试 表的数据量,default 100w-C 填充&&测试 表的数量, default 1-T prep
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号