首页
动态
橙Bot
导航
翻译橙
标签分类
文章归档
专栏
图库
友链
留言板
1
技术方案有什么
2
引导AI,探索无限可能:深入了解prompt
3
Github:那些你不知道的使用方式
4
博客接入公众号,我是如何做到的?
5
我在青岛~
橙序员
累计撰写
186
篇文章
累计创建
65
个标签
累计收到
4
条评论
栏目
首页
动态
橙Bot
导航
翻译橙
标签分类
文章归档
专栏
图库
友链
留言板
搜索
标签搜索
公众号
事务
流处理
大数据
旅行
mongo db
SUNO
github
IDEA
安全
注解
总结
求职
分布式事务
CAP
分布式系统
loadbalancer
装修
买房
前端
方案设计
AIGC
JVM
资讯
Netty
NIO
BIO
zookeeper
RocketMQ
MySQL
stable diffusion
spring MVC
spring AOP
JDBC
mybatis
logback
docker
consul
spring event
新冠
连接池
redis
运维
nginx
hiper-v
DDD
搞笑
数据库
团建
游戏
Gradle
心情
好物
eureka
spring framework
spring boot
设计模式
apache common
ShardingSphere
KAFKA
leetcode
spring cloud
feign
ES
起点
目 录
CONTENT
以下是
MySQL
相关的文章
2023-07-25
为什么不建议写大SQL?
最近在做一些老项目的技术优化,众所周知,老项目在数据层一般有好几个老大难:阅读难:写的时候天马行空,时不时的用自己卓越的sql能力,写几个关联了n张表的大sql。a关联b,b关联c都是小菜,最后给你来个union让你不得不服~拆表难:想做分表?nonono,你以为我之前不想分表?我这张表什么查询都有
2023-07-25
402
0
0
开发技巧
2023-07-23
中间件是如何进行集群管理的?
常用的中间件进行集群管理的方式有两种:一种是通过注册中心进行集群管理的:中间件注册中心redissentinelrocket MQname serverkafkazookeeperdubbozookeeperspring boot(微服务)eureka,consul,Nacos另一种是通过分布式节点
2023-07-23
493
0
0
开发技巧
2023-06-26
【译文】InooDb的锁机制
原址: https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html#innodb-predicate-locks共享锁和独占锁InnoDB实现了标准的行级锁定,其中有两种类型的锁: 共享 ( S) 锁和排它 ( X) 锁。共享( S) 锁允
2023-06-26
459
0
0
文档翻译
2023-06-25
Mysql集群的使用场景
主从复制从库的IO线程负责读取并保存到relay-log主库的进程返回对应上次同步时间之后的bin-log信息从库的sql线程监听relay-log变动并在从库执行binlog和relaylogbinlog: 位于主库,记录主库所有数据的更改,可用于本机数据恢复和主从同步。relaylog: 位于从
2023-06-25
596
0
0
开发技巧
2023-06-23
SQL语句如何优化
优化思路:首先需要使用【慢查询日志】功能,去获取所有查询时间比较长的SQL语句查看执行计划,查看有问题的SQL的执行计划针对查询慢的SQL语句进行优化使用show profile[s] 查看有问题的SQL的性能使用情况慢查询日志慢查询开启通过在配置文件中添加:slow_query_log=ONlon
2023-06-23
450
0
0
开发技巧
2023-06-23
Mysql锁机制详解:全局、表级和行级
按照锁的粒度进行区分,Mysql主要包含三种类型的锁:全局锁:锁整个数据库。表级锁:锁某一张表行级锁:锁的是某条记录,或者记录之间的间隙。按照锁的功能进行区分,锁主要分为共享锁和排他锁:共享锁Shared Locks:允许其他事务加共享锁,不允许其他事务加排他锁排他锁Exclusive Locks:
2023-06-23
424
0
0
开发技巧
2023-06-19
索引之争:B+树vs.组合索引vs.覆盖索引,你选择哪个?
索引是一种用于提高数据检索效率和降低数据库IO成本的数据结构。它通过对数据进行排序和组织,可以快速地进行等值查询和范围查询。不同的数据结构可以实现索引,其中最为合理的选择是B+树。B+树降低了树的高度,减少了查询的遍历次数,同时支持等值查询和范围查询。
在MySQL中,不同引擎使用不同的方式实现索引。在MyISAM引擎中,数据文件和索引文件是分开存储的。它使用B+树构建索引树,叶子节点存储的是索引列的值和对应行的磁盘地址。主键索引和辅助索引的结构相同,只是主键索引的键值是唯一的。在InnoDB引擎中,每个表都有一个聚簇索引,也是使用B+树构建的。聚簇索引的叶子节点存储的是整行记录。除了聚簇索引之外的索引都称为辅助索引,它们只存储主键值而非磁盘地址。
总结起来,索引是一种提高数据检索效率和降低数据库IO成本的数据结构。B+树是一种常用的索引实现方式。在MyISAM引擎中,数据文件和索引文件分开存储,使用B+树构建索引树。而在InnoDB引擎中,每个表都有一个聚簇索引,叶子节点存储整行记录,其他索引称为辅助索引,只存储主键值。
2023-06-19
388
0
0
开发技巧
2023-06-18
InnoDB内存结构与事务管理
InnoDB引擎被广泛使用的原因主要有以下几点:
1. 支持事务:InnoDB是一个支持ACID事务的存储引擎,可以保证数据的一致性、隔离性、持久性等特性,适用于需要高并发读写操作的数据库场景。
2. 缓冲池:InnoDB引擎通过缓冲池来提高数据库的整体性能。缓冲池是一个内存区域,用于缓存磁盘上的数据页,减少了磁盘IO的次数,加快了数据读取和写入速度。
3. 插入缓冲:InnoDB引擎使用插入缓冲来提升数据插入性能。在插入数据时,会先将次要索引的更新记录到插入缓冲中,再通过合并操作提升次要索引的插入性能。
4. 自适应哈希索引:InnoDB引擎可以根据查询的频率和模式,为热点页建立自适应哈希索引,提高连续查询的性能。
5. 锁信息和数据字典信息:InnoDB引擎可以保证并发访问时的线程安全,并且缓存了数据表信息,提升了数据访问的效率。
6. 重做日志缓冲:InnoDB在缓冲池中变更数据时,会先将变更写入重做日志缓冲中,然后再按时或事务提交时写入磁盘,确保数据的持久性。可以通过配置属性控制重做日志的写入时机,提高性能。
综上所述,InnoDB引擎通过支持事务、优化内存结构和提供多种性能优化机制,使得它成为了很多数据库开发人员首选的存储引擎。
2023-06-18
594
0
0
开发技巧
2023-06-04
深入解析MySQL架构:核心要点揭秘
文件结构是指MySQL存储目录中包含的不同部分,包括日志、https认证、表空间和数据文件、InnoDB重做日志以及缓冲池。
其中,日志文件主要用于记录数据库的操作信息和错误信息,包括错误日志、二进制日志、查询日志、慢查询日志和事务redo日志等。错误日志记录运行过程中遇到的严重错误信息和启动关闭信息,二进制日志记录数据库的DDL和非SELECT的DML语句以及执行时间,通常用于主从复制和数据备份恢复。查询日志可记录用户的所有操作,但在高并发环境中会产生不必要的磁盘IO,建议非调试场景不开启。慢查询日志记录执行时间超过阈值的查询语句。
表空间和数据文件是MySQL中存储表数据和索引的地方。系统表空间是被多个表共享的,包含InnoDB数据字典、double write buffer、changebuffer、undo logs的存储区域,以及用户在系统表空间创建的表数据和索引数据。用户表空间只存储用户定义数据表的数据和索引信息,其余信息存放在系统表空间中。数据文件是InnoDB和MyISAM常用的引擎,用于存储实际的数据。
总之,MySQL的文件结构包括日志、https认证、表空间和数据文件、InnoDB重做日志以及缓冲池。这些文件用于记录数据库操作信息、存储表数据和索引,并对数据库的性能和数据恢复起到重要作用。
2023-06-04
409
0
0
开发技巧