随笔分类 - MySQL
摘要:有网友咨询,丢过来一段sql 语句,说是执行一次耗时10多分钟,让帮忙看看。表数据量在5万左右,数据量不大,首先确认表统计信息都是准确的,查询sql以及执行计划如下: 可以看到嵌套循环join 部分全表扫描,缺失索引,应该在join 条件列hoist_code、device_code 建立索引,但是
阅读全文
摘要:mysql 是开源关系型数据库,在互联网、中小企业广泛流行,有大量的用户案例。mysql 支持windows、linux、unix 操作系统,目前生产环境推荐部署在linux 平台。 mysql 在linux 平台提供rpm、deb 二进制安装包以及通用linux二进制包,生产环境推荐使用通用二进制
阅读全文
摘要:1、逻辑备份、恢复 a.mysqldump(单线程备份) b.mydumper/myloader(基于表的并行备份、恢复) c.mysqlpump(基于库的并行备份) d.select ... into outfile/mysqlimport(与load data infle等效) e.binlog
阅读全文
摘要:1、崩溃恢复相关参数解析: innodb_fast_shutdown: innodb_fast_shutdown = 0:这个表示在MySQL关闭的时候,执行slow shutdown,不但包括日志的刷盘,数据页的刷盘,还包括数据的清理(purge),ibuf的合并,buffer pool dump
阅读全文
摘要:Mysql InnoDB 架构图: 1、MySQL 8: 2、MySQL 5.7以及之前的版本:
阅读全文
摘要:mysql 各个版本重要新特性 mysql 5.5:1、支持online ddl2、默认存储引擎为innodb3、引入半同步异步复制(主库在提交事务后,会等待从库反馈收到relay log) mysql 5.6:1、支持gtid复制(备库需log_slave_updates=on开启bin log)
阅读全文
摘要:--lock-all-tables 使用的是 FLUSH TABLES WITH READ LOCK 全局读锁,锁定所有 database 下的所有表 --lock-tables 使用的是 LOCK TABLES tb1 READ,tb2 READ 锁定一个 database 下的所有表,处理完再锁
阅读全文
摘要:InnoDB中支持Transportable Tablespace功能。也就是表空间可以从一个实例迁移到另一个实例。相比mysqldump来进行导入导出而言,速度更快,而且使用也很便捷。 首先,表必须是独立表空间模式,如果表有外键,与外键关联的表也应该一起导出、导入或者禁用外键检查。 导出表空间表空
阅读全文
摘要:常见原因以及解决方案: 1、表无主键或者二级索引: 原因: 若binlog 为row格式且表无主键或者二级索引,当对大表进行dml操作(update、insert、delete),从库在对binlog日志应用时会根据主键或者二级索引检索需要更改的行,如对应的表无主键索引或者二级索引,就会产生大量的全
阅读全文
摘要:(1)basic configuration character-set-server=utf8 #服务器字符集编码 lower_case_table_names=1 #用来配置数据库名和表名的大小写,建议设置成1 1#表示不区分大小写 0#表示区分大小写 skip-name-resolve #禁用
阅读全文