24个经典的MySQL索引问题,你都遇到过哪些?
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。
MySQL是如何对LRU算法进行优化的?又该如何对MySQL进行调优?
MySQL 在查询数据时,对于 InnoDB 存储引擎而言,会先将磁盘上的数据以页为单位,先将数据页加载进内存,然后以缓存页的形式存放在「Buffer Pool」中。Buffer Pool 是 InnoDB 的一块内存缓冲区,在 MySQL 启动时,会按照配置的缓存页的大小,将 Buffer Pool 缓存区初始化为许多个缓存页,默认情况下,缓存页大小为 16KB。
The MySQL 8.0.20 Maintenance Release is Generally Available
The MySQL Development team is very happy to announce that MySQL 8.0.20 is now available for download at dev.mysql.com. In addition to bug fixes there are a few new features added in this release. Please download 8.0.20 from dev.mysql.com or from the MySQL Yum, APT, or SUSE repositories. The source code is available at GitHub. You can find the full list of changes and bug fixes in the 8.0.20 Release Notes. Here are the highlights. Enjoy!
一些常见必备的MySQL知识 - 前端笔记本
最近在整理 sql 的时候发现一份优秀的笔记,是原作者学习 sql 所做的笔记,分享这份总结给大家,对大家对 sql 的可以来一次全方位的检漏和排查,感谢原作者 hjzCy 的付出,原文链接放在文章最下方,如果出现错误,希望大家共同指出!
MySQL:索引详解
定义:索引是存储引擎用于快速找到记录的一种数据结构。举例说明:如果查找一本书中的某个特定主题,一般会先看书的目录(类似索引),找到对应页面。在MySQL,存储引擎采用类似的方法使用索引,高效获取查找的数据。
MySQL中InnoDB及索引深入剖析
将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB。也就是在一般情况下,一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中...
基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步
近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存、更新或者软删除)到一个另一个数据源,持久化之前需要清洗数据并且构建一个相对合理的便于后续业务数据统计、标签系统构建等扩展功能的数据模型。基于当前团队的资源和能力,优先调研了Alibaba开源中间件Canal的使用。
很用心的为你写了 9 道 MySQL 面试题
ySQL 一直是本人很薄弱的部分,后面会多输出 MySQL 的文章贡献给大家,毕竟 MySQL 涉及到数据存储、锁、磁盘寻道、分页等操作系统概念,而且互联网对 MySQL 的注重程度是不言而喻的,后面要加紧对 MySQL 的研究。写的如果不好,还请大家见谅。
MySQL8.0新特性
在这之前Mysql的版本是5.7,也是目前使用最广泛的一个版本。现在新版本跳过了6和7直接来到了8,那么V6和V7版本去哪里了呢?比较靠谱的说法是v6用作了内部的其他用途而v7的话是因为mysql有个产品叫做clusterdb他有7这个版本,所以这个新版本有一个比较大的跳跃。不过这些对我们来说都不重要我们作为使用者只关注这个版本给我们提供了哪些比较强大和实用的新功能。下面我们来介绍一下mysql8.0给我们提供了哪些功能...
全网最清楚的MySQL事务隔离级别和实现原理文章,开发人员必备知识点
经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下。本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思...
MySQL 8.0.19 版本发布
MySQL 8.0.19 版本发布了,这是 2020 年第一个小版本。 主要更新内容: 帐户管理说明 审核日志说明 编译说明 配置说明 弃用和移除说明 错误处理 功能和操作员注意事项 INFORMATION_SCHEMA注意...
centOS7安装mysql8.0完美教程!!只要按照步骤,无脑操作,一次成功!
centOS7安装mysql8.0完美教程!!只要按照步骤,无脑操作,一次成功!
一步一步学会如何在Docker中安装MySQL数据库并配置可远程访问和连接
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。使用docker,你可以轻松地启动基于镜像的不同软件版本的容器。你也可以在一台主机中创建诸多不同的容器,这些容器彼此独立,互不影响。并且,每个docker镜像都是版本可控的。这篇文章,我将为大家分享如何在docker中一步一步安装MySQL数据库,并且配置远程可访问...
主键,聚集索引,不是一个东西!
《主键,五个小习题》昨天挖的坑,今天填一下。 练习一:建表时,可不可以不声明主键?(1) create table user( name varchar(10))engine=innodb;(2) insert into user values('shenjian');(3) insert into user values('shenjian');画外音:建表时,不声明主键,插入两个相同的元素。 提问,连续执行上面的语句,执行结果是:A 建表语句(1)报错B 插入语句(2)报错C 插入语句(3)报错D 均不报错 实操如上,所以答案是【D 均不报错】 InnoDB必须要有聚集索引...
MySQL事务,这篇文章就够了
在看这篇文章之前,我们回顾一下前面的几篇关于MySQL的系列文章,应该对你读下面的文章有所帮助。InnoDB与MyISAM等存储引擎对比面试官问你B树和B+树,就把这篇文章丢给他MySQL的B+树索引的概念、使用、优化及使用场景MySQL全文索引最强教程MySQL的又一神器-锁,MySQL面试必备0 什么是事务事务(Transaction) 是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都 执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每 个事务结束时,都能保持数据一致性。同时,事务有着严格的地定义,必须满足四个特性,也就是我们一直说的A...
看这些MySQL的重要知识点,吃透它
什么是MySQL?MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。MySQL的默认端口号是3306。一、事务相关什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小...
MySQL 8.0.18 稳定版发布,Hash Join 如期而至
MySQL 8.0.18 稳定版(GA)已于昨日正式发布,Hash Join 也如期而至。快速浏览一下这个版本的亮:1.Hash JoinHash Join 不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环算法更有效。2.EXPLAIN ANALYZEEXPLAIN ANALYZE 将运行查询,然后生成 EXPLAIN 输出,以及有关优化程序估计如何与实际执行相匹配的其他信息。3.创建用户时可以随机生成密码为 CREATE USER, ALTER USER和 SET PASSWORD语句添加了语法,以生成...
ProxySQL 2.0.6 发布,MySQL 高性能代理
ProxySQL 是一个高性能的代理,目前用于 MySQL生 态系统中的 MySQL 和数据库服务器(比如用于 MySQL 和 MariaDB 的 Percona Server),它充当从数据库中寻找资源的客户端请求的中介。2.0.6 版本已经发布,它引入了许多新特性和增强功能,并修复了一些 bug,自从上一个版本以来,proxysql-admin 工具没有改变。
微服务架构之幂等性问题及设计思想,你不得不知的一些幂等方案
小伙伴们有没有遇到过生产环境经常出现过重复的数据?在排查问题的时候,数据又是正常的。这个是何解呢?怎么会出现这种情况,而且还很难排查问题。今天我给大家分享一下这里的原因,以及解决方案。
浅析MYSQL MDL锁
MySQL为了保护数据字典元数据,使用了metadata lock,即MDL锁,保证在并发的情况下,结构变更的一致性。本文基于spider3.x(MySQL5.7)从代码实现角度分析了常用SQL语句的MDL加锁实现。