加载中
偶遇mysql8存储过程中变量命名不当导致的bug

因需要对旧数据库的数据进行迁移,某表某字段原先是多个值的逗号拼接,要拆分到另外一个表中以多行记录的方式保存. 用存储过程来处理, 就遇到了这么个问题 与SQLSERVER的局部变量前加@符号不同...

mysqlbinlog命令使用时报错 unknown variable 'default-character-set=utf8mb4' 的解决办法

为了支持emoji, mysql数据库的编码都改成了 utf8mb4, 由此也引发了mysqlbinlog命令行的错误. 比如执行 mysqlbinlog --help时报错如下: mysqlbinlog: [ERROR] unknown variable 'default-char...

2021/09/07 22:01
1K
MySQL中char和varchar的长度的区别

MySQL在检索时从 CHAR 列删除了尾部的空格 这是之前从来没有注意到过的一个描述! 看代码: USE test; DROP TABLE IF EXISTS vc; CREATE TABLE vc( id int UNSIGNED AUTO_INCREMENT, v VARCHAR...

2021/09/07 09:24
37
mysql关闭binlog的正确操作

有时本地开发环境需要mysql运行得尽可能得快, 除了放在SSD上, 更快的方式是关闭binlog. 那么在MySql8.0中如何正确的关闭binlog呢? 大多数的blog都是这么说的: 在mysqld节点下添加skip-log-bi...

2021/07/29 14:30
535
MySQL中怎么给字符串字段加索引?

给不固定内容字符串类型的字段加索引, 通常有这么几种做法: 前缀索引 倒序索引: 加hash字段做为索引列 可以参考 丁奇 老师的专栏文章: 怎么给字符串字段加索引? 这里我们只讨论hash方式. 使用...

2021/07/16 18:28
67
MySQL中optimize table、analyze table 和 alter table engine的区别

从 MySQL 5.6 版本开始, alter table t engine = InnoDB(也就是 recreate) analyze table t 其实不是重建表,只是对表的索引信息做重新统计,没有修改数据,这个过程中加了 MDL 读锁; op...

2021/07/16 11:43
913
MySQL中两个ID关联表是用联合主键还是联合索引?

在业务场景中, 经常会有把一个产品与多个标签进行关联的情况. 这里我要简单的研究一下这个表到底该怎么建 模拟数据生成 表的定义: USE test; DROP TABLE IF EXISTS test_co_ix; CREATE TABLE...

2021/07/15 23:08
204
mysql中 SET autocommit=0 与 START TRANSACTION 的区别

在MySQL中, SET autocommit=0;指事务非自动提交,自此句命令执行以后,每个SQL语句或者语句块所在的事务都需要显式调用commit才能提交事务。 不管autocommit 是1还是0 : START TRANSACTION +...

2021/07/15 22:41
126
MySQL中栏位定义的NULL, NOT NULL, NOT NULL DEFAULT

执行结果演示以MySQL 8为准 NULL: 可以输入null, 也可以输入该栏位定义格式的值 NOT NULL: 不可以输入null, 只能输入该栏位格式定义的值 NOT NULL DEFAULT 'defualt_value': 不可以输入null,...

2021/07/12 18:28
23
MySQL的varchar(255)历史问题

还记得当年用刚入行用SQLServer时, 也是喜欢使用 varchar(255), nvarchar(255) 的. 文章转载自 https://galaxyyao.github.io/2019/07/30/MySQL-%E6%B2%A1%E6%9C%89%E5%BF%85%E8%A6%81%E7%9A%...

mysql的默认隔离级别

数据库默认隔离级别: MySQL: Repeatable Read, 可重复读 Oracle, SqlServer: Read Commited 读已提交 MySQL binlog的格式三种 statement,row,mixed 为什么MySQL用的是repeatable read而不是r...

2021/05/11 23:07
109
使用MySQL自带的mysqlbinlog工具查看binlog

当前blog所使用的mysql版本: 5.7, 使用bt面板安装的环境. 0x00 简介 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句,比如select,show等)语句,以事...

binlog2sql

binsql2log是大众点评开源的用于解析MySQL binlog的工具, 项目地址: https://github.com/danfengcao/binlog2sql 从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL...

2021/04/19 23:06
68
数据库增量同步/ETL工具

数据同步与订阅: 比较推荐的是阿里的Canal、Zendesk的Maxwell、以及来自社区的Python-Mysql-Replication ETL工具 kettle Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数...

丁奇的MySQL实战45讲 学习笔记[链接]

收录一下, 方便自己查阅 《MySQL实战45讲》1~15讲 —丁奇,学习笔记 《MySQL实战45讲》16~30讲 —丁奇,学习笔记 《MySQL实战45讲》31~45讲 —丁奇,学习笔记 《MySQL实战45讲》个人总结......

2021/04/08 17:08
3.4K
MySQL索引(一个简单的会员订单查询)

假设100w数据, 会员数量5w, 订单状态8个, 查询某会员某个订单状态的某时间区间内的订单, 以及某个订单状态下的订单数量, 索引如何建? 建数据 先来建个table吧: USE test; CREATE TABLE test...

2021/03/30 22:46
135
MySQL中bit类型的应用(1)

MySQL中的bit类型, 支持1-64 个bit长度. 我们可以用bit(1)来保存一个"是否是xxx"的数据, 虽然我们通常使用tinyint这个类型. 但是如果我们有多个"是否xxx"这种栏位, 一般来说就需要设置多个栏...

2021/03/28 09:22
102
mysql8中的表分区

本文基于Mysql for windows 8.0.12版本 分表与表分区的区别: 分表 直接按照预定的规则, 把表拆分。业务操作时需要计算完整的表名。 分区 MySQL从5.1开始支持表的水平分区的。分区是将一个表...

2021/02/03 21:42
356
MySQL全文索引的简单使用

最近在处理一个用户端搜索速度慢的问题,表数据100w+, 需要搜索产品名称和主要信息栏位, 之前的业务中直接使用了LIKE,导致查询时间有时能达到10s+。那最简单的处理手段就是使用mysql自带的全...

2020/08/02 20:14
3.6K

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部