
Mysql
文章平均质量分 94
介绍mysql的原理
蝉沐风的码场
这个作者很懒,什么都没留下…
展开
-
MySQL锁,锁的到底是什么
MySQL锁是解决资源竞争的一种方案。短短一句话却包含了3点值得我们注意的事情:1.对什么资源进行竞争?2.竞争的方式(或者说情形)有哪些?3.锁是如何解决竞争的?这篇文章开始带你循序渐进地理解这几个问题。原创 2022-12-02 22:39:13 · 1439 阅读 · 0 评论 -
事务的隔离级别与MVCC
提到数据库,你多半会联想到事务,进而还可能想起曾经背得滚瓜乱熟的ACID,不知道你有没有想过这个问题,事务有原子性、隔离性、一致性和持久性四大特性,为什么偏偏给隔离性设置了级别? 一切还得从事务说起。原创 2022-04-21 07:50:16 · 786 阅读 · 1 评论 -
MySQL优化的5个维度
面试官如果问你:你会从哪些维度进行MySQL性能优化?你会怎么回答?所谓的性能优化,一般针对的是MySQL查询的优化。既然是优化查询,我们自然要先知道查询操作要经过哪些环节,然后思考可以在哪些环节进行优化。原创 2022-04-06 07:45:05 · 904 阅读 · 0 评论 -
到底为什么不建议使用SELECT *?
“不要使用SELECT *”几乎已经成为了MySQL使用的一条金科玉律,就连《阿里Java开发手册》也明确表示不得使用`*`作为查询的字段列表,本文从4个方面给出理由。原创 2022-03-26 22:31:18 · 8119 阅读 · 6 评论 -
图解|带你彻底搞懂MySQL的索引
这篇文章会让你明白什么是索引,彻底理解B+树和索引的关系;彻底理解主键索引、普通索引、联合索引;了解什么是HASH索引,InnoDB和MyISAM索引的不同实现方式;轻松理解后续的索引使用规则。原创 2022-03-11 09:09:46 · 510 阅读 · 0 评论 -
图解|12张图解释MySQL的主键查询为什么这么快
什么是InnoDB行格式?InnoDB页是什么? InnoDB页和InnoDB行格式都有哪些字段信息? 为什么推荐使用自增ID作为主键,而不推荐使用UUID? InnoDB设计者如何设计高效算法,快速在一个页中搜索记录。原创 2022-02-25 12:31:34 · 668 阅读 · 2 评论 -
一条SQL更新语句是如何执行的
这篇文章会通过一条SQL更新语句的执行流程让大家清楚地明白:什么是InnoDB页?缓存页又是什么?为什么这么设计?什么是表空间?不同存储引擎的表在文件系统的底层表示上有什么区别?Buffer Pool是什么?为什么需要?有哪些我们需要掌握的细节?MySQL的三种日志文件redo日志、undo日志、binlog分别是什么?为什么需要这么多种类型的日志?原创 2022-02-05 19:27:56 · 734 阅读 · 1 评论 -
一条SQL查询语句是如何执行的?
一条SQL查询语句是如何执行的。看不完还不知道,过来打我吧原创 2022-01-26 22:46:02 · 1915 阅读 · 4 评论 -
mysql8 客户端连接失败
使用navicat连接最新的mysql8数据库,报错如下 1251 Client does not support authentication protocol requested by server; consider upgrading MySQL client这个错误并不是由于你设置的密码强度不够引起的,因此你无论设置成多么复杂的密码都解决不了这个问题错误原因不同...原创 2018-07-14 19:08:40 · 3086 阅读 · 0 评论 -
Duplicate entry '127' for key 'PRIMARY'
最近在mysql上进行测试数据的时候,发现插入新数据总会莫名其妙爆出Duplicate entry '787192513' for key 'PRIMARY'的错误查了一下表发现确实已经存在了id为127的记录,心里还在纳闷儿为什么mysql不进行递增了,非要和127这个数字过不去。。。。。突然想到127这个特别的数字,怀疑是数据类型的表示范围导致的原因,查看了一下,id的类型...原创 2018-07-25 09:43:44 · 2464 阅读 · 0 评论 -
Mysql字符串字段判断是否包含某个字符串的3种方法
原文链接 方法一:SELECT * FROM users WHERE emails like “%b@email.com%”;方法二:利用mysql 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set(‘aa@email.com’, emails);这样是可以的,怎么理解呢?mysql有很多字符串函数 fin转载 2018-01-05 14:57:25 · 8513 阅读 · 0 评论 -
mySQL多表联合删除
之前的数据库操作都是比较简单的单一增删改查,今天遇到多表通过外键联合,如果主表数据删除,其他从表的数据也必须删除,表结构大致如下 book表字段 print表字段 print_binding表字段 print_binding_year表字段 guid guid guid guid …. book_guid print_guid bind_guid …原创 2017-10-14 18:33:27 · 15364 阅读 · 0 评论 -
内连接(inner join)与外连接(outer join)小结
mySQL包含两种联接,分别是内连接(inner join)和外连接(out join),但我们又同时听说过左连接,交叉连接等术语,本文旨在总结这些术语之间的关系。1. 内连接首先说明内连接的一个重要性质:内连接查询结果与表的顺序无关 (当然顺序可能会发生变化,但是对应关系绝对不会错乱!!!)1.1 交叉连接(cross join)当然,他还有其他的名字,比如:笛卡尔积,交叉积,还有最奇怪的名字“原创 2017-10-14 15:42:05 · 135164 阅读 · 12 评论 -
利用select直接insert数据
同时CREATE、SELECT、INSERT的三种方法AS能把SELECT查询的结果填入到新的表格中1、CREATE TABLE,然后利用SELECT进行INSERTCREATE TABLE profession( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, profession VARCHAR(20));//现在以SELECT原创 2017-10-14 13:42:51 · 3647 阅读 · 0 评论 -
CentOS7上安装MySQL Workbench
配置EPEL(企业版Linux软件附加包)】 yum install epel-release.noarch yum repolist如果显示的信息里面有epel,则安装成功。安装MySQL Workbench yum install mysql-workbench-community确认后,系统下载依赖的包,然后安装。安装完成后,在“应用程序”菜单的“编程”下,会出现MySQ转载 2017-09-01 18:57:39 · 1241 阅读 · 2 评论