随笔分类 -  数据库

摘要:MySQL 事务日志 事务有4种特性:原子性,一致性,隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢(是通过什么来控制的呢)? 事务的"隔离性"由 锁机制 实现(通过加锁来实现隔离)。 而事务的"原子性","一致性"和"持久性"由事务的 redo 日志 和 undo 日志 来保证 red 阅读全文
posted @ 2023-12-27 16:33 小林当 阅读(203) 评论(0) 推荐(0)
摘要:事务的基础知识 1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库中的数据始终保持 一致性,同时我们还能通过事务的机制 恢复到某个时间地点的数据,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 存储引擎的支持情况 查询当前 MySQL 支持的 阅读全文
posted @ 2023-12-27 16:02 小林当 阅读(314) 评论(0) 推荐(0)
摘要:视图(view) 1. 常见的数据库对象 对象 描述 表(table) 表是存储数据的单元,以行和列的形式存在,列就是字段,行就是记录 数据字典(系统表) 就是系统表,存放数据库相关信息的表。系统表的数据通常由数据库系统维护,程序员通常不应该修改,只能查看 约束(constraint) 执行数据校验 阅读全文
posted @ 2023-11-22 13:46 小林当 阅读(137) 评论(0) 推荐(0)
摘要:存储过程 1. 存储过程概述 概述:存储过程的英文是"stored procedure"。它的思想很简单,"就是一组经过"预先编译"的 SQL 语句的封装"。 执行过程:存储过程预先存储在 MySql 服务器上,需要执行的时候,"客户端只需要向服务器端发送调用存储过程的命令",服务端就可以把预先存储 阅读全文
posted @ 2023-11-22 13:45 小林当 阅读(214) 评论(0) 推荐(0)
摘要:变量,流程控制与游标 1. 变量 在MySql 数据库的存储过程和函数中,可以使用变量来存储查询或计算中间结果数据,和输出最终的结果数据。 在 MySql 数据库中,变量分为系统变量 以及 用户自定义变量。 1.1 系统变量 1.1.1 系统变量分类 变量由系统定义,不是用户定义,属于"服务器"层面 阅读全文
posted @ 2023-11-22 13:44 小林当 阅读(116) 评论(0) 推荐(0)
摘要:触发器 1. 触发器概述 MySql 从 5.0.2 版本开始支持触发器。MySql 的触发器和存储过程一样,都是嵌入到MySql服务器的一段程序。 触发器是由事件来触发某个操作,这些事件包括insert,update,delete事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序, 阅读全文
posted @ 2023-11-22 13:43 小林当 阅读(129) 评论(0) 推荐(0)
摘要:建库建表与管理 引入扩展:存储一条数据的过程。 创建数据库。 确认字段。 创建数据表。 插入数据。 那我们先从创建库开始吧😊 1. 创建数据库与管理数据库 创建数据库时 - 注意事项: 需用当前登录的用户 具备 "创建数据库的权限"。 如果在创建数据库时,未指定使用的字符集,使用默认的字符集(ut 阅读全文
posted @ 2023-11-22 13:43 小林当 阅读(320) 评论(0) 推荐(0)
摘要:约束 概述:约束可以保证 "数据完整性","数据的精确性" 和 "可靠性"。它会了防止数据库中会存在不符合语义规定的数据以及因错误输入从而导致数据错乱而提出的。 在 SQL规范中 "约束" 是对表中数据进行额外的条件限制。 实体完整性:同一个表中,不能存在两条完全相同无法区分的记录。 域完整性:例如 阅读全文
posted @ 2023-11-22 13:42 小林当 阅读(140) 评论(0) 推荐(0)
摘要:数据类型 1. MySQL 中的数据类型 类型 类型举例 整数类型 TINYINT , SMALLINT , MEDIUMINT , INT BIGINT 浮点类型 FLOAT , DOUBLE 定点数类型 DECIMAL 位类型 BIT 日期时间类型 YEAR , TIME , DATE , DA 阅读全文
posted @ 2023-11-22 13:41 小林当 阅读(214) 评论(0) 推荐(0)
摘要:mysql_扩展 1. 扩展 - mysql 定时任务 在 mysql 中是通过事件机制可以完成数据库中的定时任务,主要原理是在指定的时间调用指定的存储过程。 注意:在 mysql 中想要使用 "事件" 功能需要先开启该功能,事件机制是 mysql5.1 版本开始引入的,这意味着版本低于 5.1 的 阅读全文
posted @ 2023-11-22 13:39 小林当 阅读(213) 评论(0) 推荐(1)
摘要:MySql 8 的其他新特性 1. MySQL8新特性概述 MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上 做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化 器进行了改进。不 阅读全文
posted @ 2023-11-22 10:07 小林当 阅读(1368) 评论(0) 推荐(0)
摘要:数据库备份与恢复 在任何数据库环境中,总会有 不确定的意外 情况发生,比如意外的停电,计算机系统中的各种软硬件故障,人为破坏,管理员误操作等是不可避免的,这些情况可能会导致 数据的丢失,服务器瘫痪 等严重的后果。存在多个服务器时,会出现主从服务器之间的 数据同步问题。 为了有效防止数据丢失,并将损失 阅读全文
posted @ 2023-11-20 13:26 小林当 阅读(201) 评论(0) 推荐(0)
摘要:事务的基础知识 1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库中的数据始终保持 一致性,同时我们还能通过事务的机制 恢复到某个时间地点的数据,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 存储引擎的支持情况 查询当前 MySQL 支持的 阅读全文
posted @ 2023-11-20 13:19 小林当 阅读(62) 评论(0) 推荐(0)
摘要:数据库其他调优策略 1. 数据库调优的措施 1.1 调优的目标 尽可能 节省系统资源,以便系统可以提供更大负荷的服务。(吞吐量更大) 合理的结构设计和参数调整,以提高用户操作 响应的速度。(响应速度更快) 减少系统的瓶颈,提高 MySQL 数据库整体的性能。 1.2 如何定位调优问题 随着用户量的不 阅读全文
posted @ 2023-11-18 15:31 小林当 阅读(136) 评论(0) 推荐(0)
摘要:数据库的设计规范 1. 为什么需要数据库设计 个人观点 一个好的数据库设计,可以减轻开发的难度,提高开发效率。同时减轻后续数据库的维护工作以及良好的扩展性。总体一句话:一个好的数据库设计有诸多的好处。反之,如果数据库设计的不行,那就... 设计数据库(表)的时候,要考虑很多问题在。比如: 用户都需要 阅读全文
posted @ 2023-11-18 15:16 小林当 阅读(218) 评论(0) 推荐(0)
摘要:索引优化与查询优化 查询数据占总数据 30% 则MYSQL不会再使用索引。因为使用索引的开销反而更大。 也可以使用 force index(age) 让MySQL强行使用索引查询 explain SELECT * FROM tb_user_copy1 force index(age) where a 阅读全文
posted @ 2023-11-18 15:09 小林当 阅读(330) 评论(0) 推荐(0)
摘要:索引的创建与设计原则 1. 索引的声明与使用 1.1 索引的分类 MySQL 的索引包括普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等...。 从 功能逻辑 上说,索引主要有4种,分别是 普通索引,唯一索引,主键索引,全文索引。 按照 物理实现方式,索引分为2种:聚簇索引和非聚簇索引 阅读全文
posted @ 2023-11-18 14:57 小林当 阅读(381) 评论(0) 推荐(1)
摘要:存储引擎(引擎层) 为了方便管理,把 连接管理,查询缓存,语法解析,查询优化 这些并不涉及真实数据存储的功能划分为 MySQL server 的功能,而真实存取数据的功能划分为 存储引擎 的功能。所以 MySQL server 完成了查询优化后,只需按照生产的 执行计划 调用底层存储引擎提供的API 阅读全文
posted @ 2023-11-18 14:55 小林当 阅读(76) 评论(0) 推荐(0)
摘要:逻辑架构 扩展(c/s架构 和 b/s 架构) c/s 架构,即 Client / Server 架构:需要安装专用的客户端软件,然后联网请求服务器获取数据。 b/s 架构,即 Brower / Server 架构:需要安装浏览器,然后联网请求服务器获取数据 c/s架构和b/s架构的区别 标准:BS 阅读全文
posted @ 2023-11-18 14:40 小林当 阅读(244) 评论(0) 推荐(0)
摘要:用户与权限管理 1.用户管理 MySQL 用户可以分为 "普通用户" 和 "root用户"。 root用户是超级管理员:拥有所有权限,创建,删除,修改用户的密码等管理权限; 普通用户 :只能拥有被授予的各种权限 。 MySQL 提供了许多语句用来管理用户账号:用户的增删改查,密码管理以及权限管理等. 阅读全文
posted @ 2023-11-18 14:25 小林当 阅读(461) 评论(0) 推荐(0)