MySQL数据库
文章平均质量分 89
MySQL数据库
carroll18
你想要拥有你从未有过的东西,你必须去做你从未做过的事情。
展开
-
Linux安装Mysql8.0
【代码】Linux安装Mysql8.0。原创 2022-12-28 12:08:08 · 327 阅读 · 0 评论 -
Ubuntu本地安装MySQL8.0以及常见问题设置方法
quit退出mysql交互模式,去掉之前配置文件加的。输入设置的正确密码就能进入mysql交互模式了。,所以还需要修改与该访问控制系统相关的文件。因为Ubuntu有访问控制系统。直接回车,输密码也直接回车。,再重启mysql(原创 2022-09-04 12:42:17 · 4834 阅读 · 0 评论 -
MySQL数据库结合项目实战SQL优化总结
回表当对一个列创建索引之后,索引会包含该列的键值及键值对应行所在的rowid。通过索引中记录的rowid访问表中的数据就叫回表。回表次数太多会严重影响SQL性能,如果回表次数太多,就不应该走索引扫描,应该直接走全表扫描。返回表中30%内的数据会走索引,返回超过30%数据就使用全表扫描。当然这个结论太绝对了,也并不是绝对的30%,只是一个大概的范围。.........原创 2022-07-21 23:39:11 · 621 阅读 · 0 评论 -
MySQL 常用函数
你知道的越多,你不知道的越多。原创 2022-07-21 23:26:23 · 109 阅读 · 0 评论 -
MySQL之答疑篇
文章目录日志和索引相关问题MySQL 怎么知道 binlog 是完整的?redo log 和 binlog 是怎么关联起来的?正常运行中的实例,数据写入后的最终落盘,是从 redo log 更新过来的还是从 buffer pool 更新过来的呢?redo log buffer 是什么?其它join 的写法日志和索引相关问题MySQL 怎么知道 binlog 是完整的?一个事务的 binlog 是有完整格式的:statement 格式的 binlog,最后会有 COMMIT;row 格式的 bi原创 2021-10-26 16:57:42 · 160 阅读 · 0 评论 -
MySQL之实践篇(七)
文章目录insert语句的锁为什么这么多?怎么最快地复制一张表?mysqldump 方法导出 CSV 文件物理拷贝方法grant之后要跟着flush privileges吗?全局权限db 权限表权限和列权限flush privileges 使用场景权限的作用范围和修改策略总结insert语句的锁为什么这么多?几种特殊情况下的 insert 语句:insert … select 是很常见的在两个表之间拷贝数据的方法。需要注意,在可重复读隔离级别下,这个语句会给 select 的表里扫描到的记录和间隙原创 2021-10-26 16:57:24 · 300 阅读 · 0 评论 -
MySQL之实践篇(六)
文章目录为什么临时表可以重名?临时表的特性临时表的应用为什么临时表可以重名?内存表,指的是使用 Memory 引擎的表,建表语法是 create table … engine=memory。这种表的数据都保存在内存里,系统重启的时候会被清空,但是表结构还在。除了这两个特性看上去比较“奇怪”外,从其他的特征上看,它就是一个正常的表。临时表,可以使用各种引擎类型 。如果是使用 InnoDB 引擎或者 MyISAM 引擎的临时表,写数据的时候是写到磁盘上的。当然,临时表也可以使用 Memory 引擎。原创 2021-10-25 23:35:46 · 159 阅读 · 0 评论 -
MySQL之实践篇(五)
文章目录误删数据后除了跑路,还能怎么办?误删行误删库 / 表延迟复制备库预防误删库 / 表的方法rm 删除数据为什么还有kill不掉的语句?收到 kill 以后,线程做什么?我查这么多数据,会不会把数据库内存打爆?到底可不可以使用join?join语句怎么优化?Multi-Range Read 优化误删数据后除了跑路,还能怎么办?为了找到解决误删数据的更高效的方法,需要先对和 MySQL 相关的误删数据,做下分类:使用 delete 语句误删数据行;使用 drop table 或者 trunca原创 2021-10-25 17:59:49 · 163 阅读 · 0 评论 -
MySQL之实践篇(四)
文章目录MySQL是怎么保证高可用的?主备延迟主备延迟的来源主库出问题了,从库怎么办?GTID读写分离有哪些坑?MySQL是怎么保证高可用的?主备延迟介绍主动切换流程的详细步骤之前,与数据同步有关的时间点主要包括以下三个:主库 A 执行完成一个事务,写入 binlog,我们把这个时刻记为 T1;之后传给备库 B,我们把备库 B 接收完这个 binlog 的时刻记为 T2;备库 B 执行完成这个事务,我们把这个时刻记为 T3。所谓主备延迟,就是同一个事务,在备库执行完成的时间和主库执行完原创 2021-10-25 17:59:35 · 279 阅读 · 0 评论 -
MySQL之实践篇(三)
文章目录MySQL有哪些“饮鸩止渴”提高性能的方法?短连接风暴慢查询性能问题QPS 突增问题MySQL是怎么保证数据不丢的?binlog 的写入机制redo log 的写入机制MySQL是怎么保证主备一致的?MySQL 主备的基本原理binlog 的三种格式对比循环复制问题MySQL有哪些“饮鸩止渴”提高性能的方法?短连接风暴正常的短连接模式就是连接到数据库后,执行很少的 SQL 语句就断开,下次需要的时候再重连。如果使用的是短连接,在业务高峰期的时候,就可能出现连接数突然暴涨的情况。短连接原创 2021-10-24 16:33:15 · 2512 阅读 · 0 评论 -
MySQL之实践篇(二)
文章目录count(*)这么慢,我该怎么办?count(*) 的实现方式用缓存系统保存计数count(*)这么慢,我该怎么办?count(*) 的实现方式在不同的 MySQL 引擎中,count(*) 有不同的实现方式。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高;InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。在保证逻辑正确的前提下,尽量减少扫描的数据量原创 2021-10-23 21:19:52 · 126 阅读 · 0 评论 -
MySQL之实践篇(一)
文章目录普通索引和唯一索引,应该怎么选择?查询过程更新过程MySQL为什么有时候会选错索引?优化器的逻辑索引选择异常和处理怎么给字符串字段加索引?为什么表数据删掉一半,表文件大小不变?参数 innodb_file_per_table普通索引和唯一索引,应该怎么选择?普通索引和唯一索引,从这两种索引对查询语句和更新语句的性能影响来进行分析。查询过程假设,执行查询的语句是 select id from T where k=5。这个查询语句在索引树上查找的过程,先是通过 B+ 树从树根开始,按层搜原创 2021-10-22 17:50:53 · 165 阅读 · 0 评论 -
MySQL之基础篇(三)
文章目录事务事务如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。在 MySQL 里,有两个“视图”的概念:一个是 view。它是一个用查询语句定义的虚拟表,在调用的时候执行查询语句并生成结果。创建视图的语法是 create view … ,而它的查询方法与表一样。另一个是 InnoDB 在实现 MVCC 时用到的一致性读视图,即 consistent read view原创 2021-10-22 14:30:39 · 77 阅读 · 0 评论 -
MySQL之基础篇(二)
文章目录事务隔离隔离性与隔离级别事务隔离的实现事务的启动方式索引索引的常见模型InnoDB 的索引模型覆盖索引最左前缀原则索引下推事务隔离事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL 中,事务支持是在引擎层实现的。你现在知道,MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。隔离性与隔离级别ACID(Atomicity、Consist原创 2021-10-21 18:44:29 · 131 阅读 · 0 评论 -
MySQL之基础篇(一)
文章目录基础架构一条SQL查询语句是如何执行的?日志系统一条SQL更新语句是如何执行的?事务隔离索引基础架构一条SQL查询语句是如何执行的?MySQL 的基本架构示意图MySQL 可以分为 Server 层和存储引擎层两部分Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插原创 2020-11-18 09:29:02 · 265 阅读 · 1 评论 -
MySQL面试必备知识查缺补漏(一)
MySQL事务隔离级别怎么实现在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。MVCC的全称是“多版本并发控制”,类似于乐观锁的一种实现方式。这项技术使得InnoDB的事务隔离级别下执行一致性读操作有了保证。MVCC实现:InnoDB存储引擎默认在每行记录后面保存两个隐藏的列,用来保存记录的创建时间和删除时间。这...原创 2020-04-26 15:21:34 · 409 阅读 · 0 评论 -
Spring事务和数据库事务的藕断丝连
Spring事务和数据库事务的区别和联系你都知道吗?它们两者之间的联系你都清楚吗?通过这篇文章,希望可以让你茅塞顿开...原创 2020-04-18 09:54:17 · 280 阅读 · 0 评论 -
MySQL性能分析神器 Explain,你还不知道它?那你就out了
文章目录推荐阅读Explain查询执行计划作用使用方法分析包含信息idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtraEXPLAIN 显示了 MySQL 如何使用索引来处理 SELECT 语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。推荐阅读linux安装MySQL5.7数...原创 2020-04-01 13:50:34 · 10111 阅读 · 2 评论 -
MySQL高级性能优化知识,这些面试常问的东西你都知道吗?
文章目录推荐阅读范式第⼀范式(1NF)第⼆范式(2NF)第三范式(3NF)巴斯-科德范式(BCNF)第四范式(4NF)Mysql逻辑架构总体分层连接层为什么要设计成线程池?服务层SQL语句在服务层中具体的流程引擎层存储引擎InnoDB与MyISAM 对比存储层SELECT语句执⾏顺序代码编写顺序Mysql读取顺序JOIN连接优化分析性能下降的原因DQL的执行过程SQL的执行过程查询优化器做优化,做...原创 2020-03-31 15:31:37 · 2065 阅读 · 0 评论 -
MySQL索引建立选择和常见失效原因总结,这些你都得知道
文章目录索引建立选择适合建立索引不适合建立索引索引失效原因使用索引注意索引不能使用排查不会用到索引索引建立选择适合建立索引主键自动建立唯一索引( primary)频繁作为查询条件的字段应该创建索引 (比如银行系统银行帐号,电信系统的手机号)查询中与其它表关联的字段,外键关系建立索引 ( 比如员工,部门外键)where条件里用到的字段查询中排序的字段,排序的字段若通过索引去访问将大...原创 2020-03-31 12:16:23 · 946 阅读 · 0 评论 -
linux安装MySQL5.7数据库
下载MySQL进入安装包所在目录cd /usr/local 下载 MySQLwget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz如果报-bash: wget: command not found错yum install wget解压文件...原创 2020-03-21 21:18:54 · 843 阅读 · 1 评论 -
SQL语句模糊查询 JavaWeb 项目 dao层 【常用来做搜索框】
目的:搜索框,通过输入一些关键词,查询含有关键词的书名 通过一条查询语句能够实现用户所有的条件进行查询刚开始的SQL语句如下:String sql = "SELECT * FROM books WHERE book_name LIKE '%"+book_name+"%'";运行后,代码一直报错,最后修改后运行成功的代码附下面,相信很多人和我一样会遇到同样的错...原创 2019-09-04 00:53:13 · 4277 阅读 · 0 评论 -
数据库索引(Index)实现原理,面试官常问~~~
目录一.概述 二.索引的优缺点三、索引的分类四、B-Tree索引和B+Tree索引B-Tree索引B+Tree索引B+Tree对比B-Tree的优点一.概述 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行...原创 2019-11-17 20:04:03 · 891 阅读 · 0 评论 -
SQL 常用命令行大全【高级程序员必备】
DOS窗口下常用的SQL命令行大全目录1.连接Mysql2.修改密码3.增加新用户4.创建数据库5.显示数据库6.删除数据库7.连接数据库8.当前选择的数据库9.创建数据表10.删除数据表11.表插入数据12.查询表中的数据13.删除表中数据...原创 2019-11-16 22:31:02 · 1153 阅读 · 0 评论 -
MySql性能优化之JOIN连接(有图,最全,最详细)
目录1.示例数据2.内连接3.外连接 左连接 右连接4.全连接5.查询左表独有的数据6.查询右表独有的数据7.查询左右表各自的独有的数据1.示例数据创建数据库,然后用下面的sql语句创建对应的两个表DROP TABLE IF EXISTS `department`;CREATE TABLE `department` ...原创 2019-11-18 12:14:51 · 2026 阅读 · 4 评论