![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql高级
文章平均质量分 94
凌寒ᨐ舞
欲买桂花同载酒,终不似少年游
展开
-
第11章‘数据库设计规范
关于数据表的设计,有三个范式要遵循。(1)第一范式(1NF),确保每列保持原子性数据库的每一列都是不可分割的原子数据项,不可再分的最小数据单元,而不能是集合、数组、记录等非原子数据项。(2)第二范式(2NF),确保每列都和主键完全依赖尤其在复合主键的情况下,非主键部分不应该依赖于部分主键。(3)第三范式(3NF)确保每列都和主键列直接相关,而不是间接相关范式的优点:数据的标准化有利于消除数据库的数据冗余,第三范式(3nf)通常被认为是性能,拓展性,和数据完整性方面达到了最好的平衡。原创 2023-10-03 09:59:09 · 57 阅读 · 0 评论 -
第12章_数据库其它调优策略
磁盘的I/O能力,也就是它的寻道能力,目前的SCSI高速旋转的是72oo转/分钟,这样的速度,一旦访问的用户量上去,磁盘的压力就会过大,如果是每天的网站pv (page view)在150w,这样的一般的配置就无法满足这样的需求了。如果用的是MySQL,我们还可以根据不同表的使用需求,选择不同的存储引擎。:表示索引缓冲区的大小。不过随着用户量的不断增加,以及应用程序复杂度的提升,我们很难用“更快”去定义数据库调优的目标,因为用户在不同时间段访问服务器遇到的瓶颈不同,比如双十一促销的时候会带来大规模的。原创 2023-10-03 09:58:24 · 67 阅读 · 0 评论 -
第17章_其他数据库日志
中继日志只在主从服务器架构的从服务器上存在。从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的日志文件中,这个从服务器本地的日志文件就叫中继日志。然后,从服务器读取中继日志,并根据中继日志的内容对从服务器的数据进行更新,完成主从服务器的数据同步。搭建好主从服务器之后,中继日志默认会保存在从服务器的数据目录下。文件名的格式是:从服务器名 -relay-bin.序号。中继日志还有一个索引文件:`` 从服务器名 -relay-原创 2023-10-03 09:51:52 · 69 阅读 · 0 评论 -
第16章_多版本并发控制
对历史快照的管理行为就是由ReadView来体现的(哪些可见,哪些不可见)在MVcC机制中,多个事务对同一个行记录进行更新会产生多个历史快照,这些历史快照保存在Undo Log里。如果一个事务想要查询这个行记录,需要读取哪个版本的行记录呢?这时就需要用到ReadView了,它帮我们解决了行的可见性问题。ReadView就是事务A在使用MVcc机制进行快照读操作时产生的读视图。当事务启动时,会生成数据库系统当前的一个快照,InnoDB为每个事务构造了一个数组,用来记录并维护系统当前活跃事务。原创 2023-10-02 14:43:00 · 60 阅读 · 0 评论 -
第14章_MySQL事务日志
这个和磁盘的扇区有关,机械磁盘默认的扇区就是512字节,如果你要写入的数据大于512字节,那么要写入的扇区肯定不止一个,这时就要涉及到盘片的转动,找到下一个扇区,假设现在需要写入两个扇区A和B,如果扇区A写入成功,而扇区B写入失败,那么就会出现非原子性的写入,而如果每次只写入和扇区的大小一样的512字节,那么每次的写入都是原子性的。假设一个事务,对表做10万行的记录插入,在这个过程中,一直不断的往redo log顺序记录,而bin log不会记录,直到这个事务提交,才会一次写入到bin log文件中。原创 2023-10-01 11:03:02 · 408 阅读 · 0 评论 -
第13章_事务基础知识
事务是数据库区别于文件系统的重要特征之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。原创 2023-09-30 17:22:51 · 396 阅读 · 0 评论 -
第12章_数据库其它调优策略
磁盘的I/O能力,也就是它的寻道能力,目前的SCSI高速旋转的是72oo转/分钟,这样的速度,一旦访问的用户量上去,磁盘的压力就会过大,如果是每天的网站pv (page view)在150w,这样的一般的配置就无法满足这样的需求了。如果用的是MySQL,我们还可以根据不同表的使用需求,选择不同的存储引擎。:表示索引缓冲区的大小。不过随着用户量的不断增加,以及应用程序复杂度的提升,我们很难用“更快”去定义数据库调优的目标,因为用户在不同时间段访问服务器遇到的瓶颈不同,比如双十一促销的时候会带来大规模的。原创 2023-09-30 09:12:22 · 44 阅读 · 0 评论 -
第七章InnoDB数据存储结构
页a、页b、页c…页n这些页可以不在物理结构上相连,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。原创 2023-09-13 20:30:19 · 64 阅读 · 0 评论 -
第八章,索引的创建与设计原则
SQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。普通索引在创建索引的时候,不添加任何附加条件,只用于提高查询效率,这类索引可以创建在上,其值是否唯一和非空,要由字段本身的完整性约束条件决定.建立索引后,可以通过索引进行查询,例如,在表和字段上建立一个普通索引,查询记录时就可以根据该索引查询唯一性索引使用参数可以设置索引为唯一性索引,在创建唯一性索引时限制该索引的值必须是唯一的,但允许有空值.在一张表中可以有多个唯一例如,在表的字段。原创 2023-09-13 20:28:42 · 89 阅读 · 0 评论 -
第四章 逻辑架构
首先MySQL是典型的c/S架构,即 Client/Server 架构,服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?这里以查询请求为例展示:具体展开。原创 2023-09-07 13:26:03 · 70 阅读 · 0 评论 -
mysql配置文件的使用
与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为各个组,每个组一个组名,用中括号[]括起来像这个配置文件里就定义了许多个组,组名分别是server、 mysqld、mysqld_safe、 client、 mysql、mysqladmin。原创 2023-09-06 15:50:07 · 55 阅读 · 0 评论