PostgreSQL 序列(sequence)的使用
PostgreSQL 中的序列与 Oracle 类似,是一个独立的对象,而 MySQL 的序列是绑定在一张表的字段上的,自增长序列只能用于表的一个字段,且不能被其他表共用,相对来说,PostgreSQL 的序列更加灵活和通用。本文示例在 P...继续阅读
PostgreSQL 中的序列与 Oracle 类似,是一个独立的对象,而 MySQL 的序列是绑定在一张表的字段上的,自增长序列只能用于表的一个字段,且不能被其他表共用,相对来说,PostgreSQL 的序列更加灵活和通用。本文示例在 P...继续阅读
MySQL Crash 的原因有很多,比如硬件问题,磁盘坏块导致页损坏,内存问题导致内存访问错误,等等,软件问题,MySQL 自身的 Bug。通常 MySQL Crash 问题需要根据错误日志、Core 文件、业务 SQL,表结构等多种信息...继续阅读
MySQL 做的时间长了,就有可能多次遇到相同的 Bug,这里记录一下,以便下次再遇到,能够参考。1. 背景业务执行 SQL 导致 MySQL 进程 Crash,做故障切换后,新的主库又 Crash 了。查看 MySQL 错误日志,发现多次...继续阅读
MySQL 8.0.13 版本开始支持函数索引(Functional indexes),在此之前,只能使用表的字段或者字段前缀来创建索引,从 8.0.13 版本开始,可以使用函数或者表达式的值来创建索引,这些函数或者表达式的值并不直接存储在...继续阅读
MySQL 8.0 版本开始支持降序索引(Descending Indexes),在 8.0 之前的版本,使用关键字 DESC 定义降序索引时,实际上 DESC 是被忽略的,从 8.0 版本开始,DESC 定义的索引,真的就是降序的索引。在...继续阅读
MySQL 8.0 版本支持不可见索引(Invisible Indexes),也就是索引对优化器不可见,无法使用不可见索引对查询进行优化,不可见索引不适用于主键。一、不可见索引的使用场景在一张大表上创建和删除索引是有高额成本的,有时候需要测...继续阅读
Percona 公司发布的 MySQL 分支版本(Percona Server for MySQL)在互联网公司具有广泛的用户,其发布的 MySQL 版本在社区版基础上增加了许多实用功能,比如线程池,InnoDB 存储引擎增强,审计功能,运...继续阅读
本文整理汇总了 MySQL 8.0 版本的新特性,新功能,如下:一、功能增强1.1 系统表更换为InnoDB引擎系统表全部换成事务型的innodb表,默认的MySQL实例将不包含任何MyISAM表,除非手动创建MyISAM表。1.2 DDL...继续阅读
MySQL 8.0.18 版本引入了 hash join 功能,来优化没有走索引的等值 join 连接,hash join 通常比 BNL(Block Nested-Loop) 算法效率更高。比如一个常见的等值 join 查询语句,如下:S...继续阅读
一、背景生产环境遇到一个 MySQL 写入报错的问题,业务写入数据时报主键冲突。经过调查,这套 MySQL 集群版本为 Percona 5.7.19,在报主键冲突前,做过主从切换,报主键冲突的SQL语句为 replace into,表的主键...继续阅读