随笔分类 - MySQL
摘要:导出binlog日志: mysqlbinlog --no-defaults --database=account --base64-output=decode-rows -v --start-datetime='2021-06-29 09:10:30' --stop-datetime='2021-0
阅读全文
摘要:@i声明变量;id自增长,由于删除而id不连续,查询缺失id (id范围1至65535) SELECT id-1 FROM ( SELECT (@i:=@i+1) i, t1.id FROM test_table t1,(select @i:=0) it WHERE cast(t1.id as DE
阅读全文
摘要:导读 索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。 在不使用ICP的情况下,在使用**非主键索引(又叫普通索引或者二级索引)**进行查询时,存储引擎通过索引检索到数据,然后返回给MySQL服务器,服务器然后判断数据是否符合条
阅读全文
摘要:在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` te
阅读全文
摘要:InnoDB 锁机制 InnoDB存储引擎支持行级锁 其大类可以细分为共享锁和排它锁两类 共享锁(S):允许拥有共享锁的事务读取该行数据。当一个事务拥有一行的共享锁时,另外的事务可以在同一行数据也获得共享锁,但另外的事务无法获得同一行数据上的排他锁 排它锁(X):允许拥有排它锁的事务修改或删除该行数
阅读全文
摘要:1. 规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编
阅读全文
摘要:转自:https://www.cnblogs.com/keme/p/11065025.html 根据加锁的范围,MySQL 里面的锁大致可以分成全局锁,表级锁,行锁。 全局锁 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是Flush tables with read
阅读全文
摘要:MYSQL EXPLAIN MYSQL官方文档链接 列名 说明 id 执行编号,标识select所属的行。id值越大优先级越高,越先被执行 select_type 显示本行是简单或复杂select。如果查询有任何复杂的子查询,则最外层标记为PRIMARY(DERIVED、UNION、UNION RE
阅读全文
摘要:select * from table_name where id in(1,2,3...) Oracle9:256个 Oracle10:1000个 Mysql:不限制个数;但是整条sql语句大小是有限制的(max_allowed_packet),默认4M
阅读全文
摘要:问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死。严重影响业务。 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法
阅读全文
摘要:下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况。但却都只给结论不说明原因,犹如鸡汤不给勺子一样,让不少初学者对这个结论半信半疑或者云里雾里。本文今天就详细的剖析下使用 Null 的原因,并给出一些
阅读全文
摘要:先看一下实验的两张表: 表comments,总行数28856 表comments_for,总行数57,comments_id是有索引的,ID列为主键。 以上两张表是我们测试的基础,然后看一下索引,comments_for这个表comments_id是有索引的,ID为主键。 最近被公司某一开发问道JO
阅读全文
摘要:InnoDB INNODB表是索引组织的表,主键是聚集索引,非主键索引都包含主键信息。 INNODB默认是行锁。 INNODB行锁是通过给索引项加锁来实现的,即只有通过索引条件检索数据,InnoDB才使用行级锁,否则将使用表锁。 InnoDB行锁实现方式 InnoDB行锁是通过给索引上的索引项加锁来
阅读全文
摘要:Mysql版本众多,每个版本支持的数据类型繁多且不一样,本篇文章中主要基于MySQL Community Server 5.7.22介绍常用的数据类型,包括其特点以及区别。 一.数据类型 正确的定义表结构:数据类型、字段长度,对于数据库性能至关重要。Mysql中支持众多数据类型,很多类型又支持不同的
阅读全文
摘要:一、概述: innodb的整个体系架构就是由多个内存块组成的缓冲池及多个后台线程构成。缓冲池缓存磁盘数据(解决cpu速度和磁盘速度的严重不匹配问题),后台进程保证缓存池和磁盘数据的一致性(读取、刷新),并保证数据异常宕机时能恢复到正常状态。 缓冲池主要分为三个部分:redo log buffer、i
阅读全文
摘要:InnoDB存储引擎的关键特性包括插入缓冲、两次写(double write)、自适应哈希索引(adaptive hash index)。这些特性为InnoDB存储引擎带来了更好的性能和更高的可靠性。 插入缓冲 插入缓冲是InnoDB存储引擎关键特性中最令人激动的。不过,这个名字可能会让人认为插入缓
阅读全文
摘要:索引目录 INNODB的体系结构 缓冲池 缓存中页的定位: checkpoint技术 INNODB的关键特性 插入缓冲 change buffer 两次写 索引目录 INNODB的体系结构 缓冲池 缓存中页的定位: checkpoint技术 INNODB的关键特性 插入缓冲 change buffe
阅读全文
摘要:1、创建用户、赋予权限 2、时区设置 3、mysql 更新最新的一条记录 4、分组取每组前几条记录
阅读全文
摘要:作为一个企业或者DBA,我们通常会有这种想法,数据是一个公司的核心命脉,应该需要永久保存,很多时候DBA和开发沟通的时候,开发人员也会这么告诉我们,这份数据非常重要,数据需要永久保存。然而,如果将数据库的数据永久保存,那么迟早有一天,你会拥有一个非常大的数据库。作为一个DBA,通常为了业务对数据库的
阅读全文
摘要:InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题。下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题。 背景知识 事务(Transaction)及其ACID属性 事务
阅读全文