MYSQL
一个热爱java的小白
这个作者很懒,什么都没留下…
展开
-
mycat中的分片规则
范围取模一致性hash应用指定固定分片hash算法字符串hash解析按天按月原创 2024-08-09 10:53:02 · 225 阅读 · 0 评论 -
MySQL主从复制保姆级教程(学习笔记)
主库出现问题,可以切换到从库提供服务实现读写分离,降低主库的房屋内压力可以再从库中执行备份,避免备份期间影响主库服务。原创 2024-08-07 11:17:32 · 220 阅读 · 0 评论 -
MySQL中的日志
错误日志是MySQL中最重要的日志之一默认是开启的,它记录了MySQL启动和停止时,以及入伍再运行过程中发发生任何严重错误时的相关信息,当数据库出现任何故障无法正常运行时可以查看此日志。作用:灾难时的数据恢复、MySQL的主从复制、在MySQL8中默认二进制日志是开启的。二进制日志记录了所有的DDL语句和DML语句除(select,show)。默认是关闭的,需要修改/etc/my.cnf文件。原创 2024-08-07 11:09:28 · 245 阅读 · 0 评论 -
MySQL中常用工具
mysqlimport只能导入文本文件,不能导入sql文件。原创 2024-08-06 10:33:50 · 200 阅读 · 0 评论 -
了解MVCC
redo log保证了事务的持久性undo log保证了事务的原子性redo log+undo log保证了事务的一致性MVCC+锁保证了事务的隔离性。原创 2024-08-05 18:20:11 · 585 阅读 · 0 评论 -
事务的原理(学习笔记)
如果没有redo log 我们在执行完增删改查语句后会将脏页直接刷新到磁盘中,此时用户事务已经提交,一旦刷新失败则无法修复数据。如果不适用redo log 还会存在性能问题,事务中的一组操作都是随机操作数据页,涉及到大量随机磁盘IO,而日志都是顺序追加,是顺序磁盘IO这种机制也被叫做WAL。redo log中的日志文件是循环写入的,已经成功刷新磁盘中的数据对应的日志就没什么用了。用于记录被修改前的信息,它与redo log 不一样它是逻辑日志。原创 2024-08-05 16:40:40 · 260 阅读 · 0 评论 -
InnoDB引擎
段:分为数据段,索引段,回滚段,InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+树的非叶子节点,段用来管理多个Extent(区)页:是InnoDB存储引擎管理磁盘管理的最小单元,每个页默认大小为16KB,为了保证页的连续性,InnoDB默认每次从磁盘中申请4-5个区。区:表空间的单元结构,每个分区的大小为1M,默认情况下,InnoDB存储引擎页大小为16K,即一个区中一共有64个连续的页。表空间也就是ibd文件,一个MySQL实例可以对应多个表空间,用于存储记录,索引等数据。原创 2024-08-05 16:36:22 · 244 阅读 · 0 评论 -
MySQL中的锁
全局锁,表级锁,行级锁。原创 2024-08-01 17:54:52 · 360 阅读 · 0 评论 -
MySQL中的触发器
触发器是与表有关的数据库对象,在insert/update/delete之前或者之后,触发并执行触发器中定义的sql语句集合,触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作使用别名OLD和NEW来引用触发器中发生变化的记录内容,这和其它数据库是相似的,目前触发器只支持行级触发,不支持语句级触发。原创 2024-07-27 18:54:47 · 194 阅读 · 0 评论 -
MySQL中的视图
视图是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列中数据来自自定义视图的查询中使用的表,并且是在使用视图时动态生成的通俗来讲,视图只保存了查询的sql逻辑,不保存查询的结果,视图中的实际数据是来自后面的select语句。原创 2024-07-26 11:56:30 · 407 阅读 · 0 评论 -
SQL优化
当数据量多时,我们可以批量插入数据,手动提交事务,按照主键顺序插入来提高sql的执行效率过程。当有大量数据时即使用 insert进行批量插入效率也并不高,此时就需要使用MySQL的load指令进行插入。如果主键乱序插入可能会出现页分裂现象。主键设计需要满足一下几个原则。原创 2024-07-25 22:58:03 · 303 阅读 · 0 评论 -
MySQL中的索引使用
假设我们的联合索引为 profession age status 这三个字段,那么status这个字段的索引会失效。如果索引了多列(联合索引),要遵守最左前缀法则,查询从索引的最左列开始,且不跳过索引中的列,联合索引中,出现范围查询(>原创 2024-07-24 23:15:49 · 287 阅读 · 0 评论 -
SQL性能分析
show profile 能够在做sql优化时帮助我们了解时间都花费在哪里并且通过having_profiling参数,能够看到当前MySQL是否支持profile操作。慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有sql语句的日志。MySQL 的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)中配置。设置完毕后重启服务进行测试。原创 2024-07-23 23:29:11 · 158 阅读 · 0 评论 -
事务的优点
最近学习事务的相关知识,打算总结一下它的优点1.数据的一致性:事务可以确保一组操作要么全部成功要么全部失败。这样可以保证数据的一致性,避免了在一组操作中出现部分操作成功而部分操作失败的情况。2. 数据的完整性:事务可以将一组操作当作一个逻辑单元,这样可以保证数据库中的数据一直处于有效和完整的状态。在事务中,可以定义一些约束条件和验证规则,确保数据的完整性。3. 并发控制:在并发环境下,多个用户或应用程序可能同时对数据库进行读写操作。原创 2023-07-26 22:38:34 · 275 阅读 · 0 评论 -
MYSQL中的索引
索引(index)是帮助Mysql高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式应用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这就是索引。原创 2024-07-23 22:46:05 · 396 阅读 · 0 评论