数据库
文章平均质量分 68
数据库专栏
Junfeng Tang
无论之前的人生发生过什么,都对今后的人生如何度过没有影响。
展开
-
MySQL权限
MySQL 允许客户端用户连接到服务器并访问服务器管理数据,MySQL 用户权限系统的主要功能是对给定主机连接的用户进行身份验证,并将该用户与数据库的权限相关联。在 MySQL8 之前,授权表使用 MyISAM 并且是非事务性的,在 MySQL8 中,授权表使用 InnoDB 存储引擎并且是事务性的。服务器在启动时将授权表的内容读入内存,您可以通过命令重新加载。原创 2023-11-07 16:54:30 · 119 阅读 · 0 评论 -
证明char是定长的?
CHAR 在存储时会在右边填充空格以达到指定的长度,检索(查询)时会去掉空格。在PAD_CHAR_TO_FULL_LENGTH会显示出空格。大部分博客都在讲解char和varchar区别的时候都谈到char为定长,varchar为变长。在上面的示例中,name列被定义为CHAR(10),表示它将始终占用10个字符的空间。:接下来,您可以插入不同长度的数据,并检查存储占用的空间。:首先,创建一个CHAR列,指定其长度。至此,终于是把char为定长证明出来了。在查询char类型字段的长度。下面是我证明的过程。原创 2023-11-03 17:40:22 · 173 阅读 · 0 评论 -
explain详解
char(n)和varchar(n),5.0.3以后版本中,**n均代表字符数,而不是字节数,**如果是utf-8,一个数字 或字母占1个字节,一个汉字占3个字节。索引最大长度是768字节,当字符串过长时,mysql会做一个类似左前缀索引的处理,将前半部分的字符提取出来做索引。using filesort:将用外部排序而不是索引排序,数据量大,需要在磁盘完成排序,数据量小,在内存完成排序。using where:使用where语句来处理结果,并且查询的列违背索引覆盖,这种语句可能需要优化。原创 2023-11-03 09:31:30 · 51 阅读 · 0 评论 -
binlog、redolog和undolog
在MySQL中,redo log和undo log只适用于InnoDB存储引擎,因为要支持事务。而不适用于MyISAM等其他存储引擎。而binlog则适用于所有存储引擎。原创 2023-11-03 09:03:54 · 216 阅读 · 0 评论 -
数据库死锁
死锁是指两个或更多的线程(或进程)被永久阻塞,等待对方所持有的资源,导致程序无法继续执行下去。原创 2023-11-02 09:00:33 · 153 阅读 · 0 评论 -
分库分表分区
数据库分库、分表和分区是水平切分数据库的策略,有助于提高数据库性能、可伸缩性和负载均衡。原创 2023-11-02 08:54:44 · 356 阅读 · 0 评论 -
MySQL索引
索引是帮助MySql高效获取数据的排好序的。原创 2023-11-01 08:53:33 · 279 阅读 · 0 评论 -
数据库的锁
数据库的锁是为了支持对共享数据的并发访问,提供数据的完整性和一致性。原创 2023-11-01 08:42:03 · 165 阅读 · 0 评论 -
当前读和快照读
当前读(Current Read)是数据库操作中的一种读取方式,它指的是从数据库中获取实时数据,即获得最新的已提交数据。在当前读操作中,您将看到其他事务已经提交的更改,因此具有实时数据可见性。这意味着当执行当前读操作时,您可以访问数据库中最新的数据状态,包括最近提交的事务所做的修改。简而言之,,所以,加锁的 SELECT,或者对数据进行增删改都会进行当前读。比如当前读适用于需要实时数据可见性和高一致性的应用场景。例如金融产品,库存系统等要求实时性较高。原创 2023-10-31 10:18:57 · 1285 阅读 · 0 评论 -
事务隔离级别
事务是数据库管理系统中的一个基本单位,它代表了一组数据库操作。事务是一个不可分割的工作单元,要么全部成功执行,要么全部失败回滚。事务的目标是确保数据库的一致性、隔离性、持久性和原子性(ACID属性)。原创 2023-10-31 09:08:09 · 325 阅读 · 0 评论 -
MySQL执行计划
表示select查询的序列编号,即在查询中执行select语句或操作表的顺序,查询出来的id有两种情况,可同时存在id相同,执行顺序为从上到下。原创 2023-10-30 09:15:12 · 156 阅读 · 0 评论 -
MySQL事务
事务是一组数据库操作,它被视为一个不可分割的工作单元。事务,保证了数据库的一致性。通常,事务操作包括插入、更新、删除等,它们一起构成了一个逻辑操作单元。原创 2023-10-27 11:19:53 · 466 阅读 · 0 评论 -
数据库范式
在关系数据库设计中,数据库范式是一组,用于组织数据以降低数据冗余、提高数据完整性和减小数据操作的复杂性。原创 2023-10-26 14:39:58 · 96 阅读 · 0 评论 -
MySQL存储引擎
MySQL支持多种存储引擎(Storage Engine),每种引擎都有其自身的特点和适用场景。存储引擎是MySQL架构中的一个核心组件,它负责数据的物理存储、索引结构、并发控制以及事务处理。原创 2023-10-26 14:20:02 · 249 阅读 · 0 评论 -
慢SQL的原因
注意:设置慢查询日志可能会对数据库性能产生轻微的影响,因为记录慢查询需要一些额外的系统资源。因此,在生产环境中,您可能需要谨慎地选择合适的阈值,并根据需要调整。: 设置慢查询的时间阈值(以秒为单位)。执行时间超过该阈值的查询将被记录到慢查询日志中。: 指定慢查询日志文件的路径和名称。打开MySQL的配置文件,通常是。: 设置为1表示启用慢查询日志。(Linux/Unix)或。原创 2023-08-17 21:44:15 · 168 阅读 · 0 评论