
数据库相关
文章平均质量分 93
kkkkatoq
这个作者很懒,什么都没留下…
展开
-
MYSQL 七、mysql 日志与备份
中继日志只在主从服务器架构的从服务器上存在。从服务器为了与主服务器保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的日志文件中,这个从服务器本地的日志文件就叫中继日志。然后,从服务器读取中继日志,并根据中继日志的内容对从服务器的数据进行更新,完成主 从服务器的 数据同步。搭建好主从服务器之后,中继日志默认会保存在从服务器的数据目录下。从服务器名 -relay-bin.序号。从服务器名 -relaybin.index,用来定位当前正在使用的中继日志。在实际工作中,我们常常将。原创 2024-07-22 19:19:58 · 1213 阅读 · 0 评论 -
MYSQL 六、mysql锁 2(多版本并发控制)
MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样 在做查询的时候就不用等待另一个事务释放锁。MVCC没有正式的标准,在不同的DBMS中MVCC的实现方式可能是不同的,也不是普遍使用的(大家可以参考相关的DBMS文档)。原创 2024-07-21 21:54:21 · 700 阅读 · 0 评论 -
MYSQL 六、mysql锁 1
在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的 资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制也为实现MySQL 的各个隔离级别提供了保证。锁冲突也是影响数据库并发访问性能的一个重要因素。所以锁对数据库而言显得尤其重要,也更加复杂。原创 2024-07-19 12:40:12 · 1097 阅读 · 0 评论 -
MYSQL 五、mysql事务 2(MySQL事务日志)
锁机制重做日志回滚日志恢复操作"物理级别"逻辑操作事务的回滚逆操作一致性非锁定读。原创 2024-07-18 22:13:44 · 648 阅读 · 0 评论 -
MYSQL 四、mysql进阶 10(数据库其它调优策略)
如果MySql的连接数达到 max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即 back_log,如果等待连接的数量超过back_log,将不被授予连接资源,将会报错。磁盘的I/O能力,也就是它的寻道能力,目前的SCSI高速旋转的是7200转/分钟,这样的速度,一旦访问的用户量上去,磁盘的压力就会过大,如果是每天的网站pv (page view) 在150w,这样的一般的配置就无法满足这样的需求了。当然,这个值不是越大越好,它的大小取决于内存 的大小。原创 2024-07-16 13:02:57 · 895 阅读 · 0 评论 -
MYSQL 四、mysql进阶 9(数据库的设计规范)
可以理解为,一张数据表的设计结 构需要满足的某种设计标准的级别。要想设计一个结构合理的关系型数据库,必须满足一定的范式。原创 2024-07-15 12:01:40 · 1238 阅读 · 0 评论 -
MYSQL 四、mysql进阶 8(索引优化与查询优化)
关于数据库调优的知识非常分散。不同的DBMS,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。这里我们分为三个章节进行细致讲解。虽然SQL查询优化的技术有很多,但是大方向上完全可以分成。原创 2024-07-10 18:39:57 · 519 阅读 · 0 评论 -
MYSQL 四、mysql进阶 7(性能分析工具的使用)
我们可以通过观察了解数据库整体的运行状态,通过性能分析工具可以让我们了解执行慢的SQL都有哪些,查看具体的SQL执行计划,甚至是SQL执行中的每一步的成本代价,这样才能定位问题所在,找到了问题,再采取相应的行动。字母 S 的部分代表观察(会使 用相应的分析工具),字母 A 代表的部分是行动(对应分析可以采取的行动)。SHOW [GLOBAL|SESSION] STATUS LIKE '参数';在MySQL中,可以使用。行动(Action)原创 2024-07-08 18:39:44 · 558 阅读 · 1 评论 -
MYSQL 四、mysql进阶 6(索引的创建与设计原则)
使用参数FULLTEXT 可以设置索引为全文索引,在定义索引的列上支持值的全文查找,允许在这些索引列中插入重复值和空值,全文索引只能创建在 CHAR 、VARCHAR或TEXT类型及其系列类型的字段上,查询数据量较大的字符串类型的字段时,使用全文索引可以提高查询速度,例如、表student的字段information是text类型,该字段包含了很多文字信息,在字段information上建立全文索引后,可以提高查询字段information的速度。如果组成 索引的所有列都被删除,则整个索引将被删除。原创 2024-07-05 16:44:14 · 1090 阅读 · 0 评论 -
MYSQL 四、mysql进阶 5(InnoDB数据存储结构)
页a、页b、页c...页n这些可以不在物理结构上相连,只要通过双向链表相关联即可,每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里面的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可,快速找到指定的记录。原创 2024-06-27 18:41:33 · 922 阅读 · 0 评论 -
MYSQL 四、mysql进阶 4(索引的数据结构)
1.为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教科书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。Mysql中也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全表扫描,即需要一条一条的查找记录,直到找到与条件符合的记录。 如上图所示,数据库没有索引的情况下,数据 分布在硬盘的不同位置上面,读取数据时,摆臂需要前后摆动查找数据,这样操作非原创 2024-06-19 18:18:40 · 1069 阅读 · 0 评论 -
MYSQL 四、mysql进阶 3(存储引擎)
4.1 InnoDB引擎:具备外键支持功能的事务存储引擎MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。事务是最重要的区别除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB。原创 2024-06-19 14:51:19 · 695 阅读 · 0 评论 -
MYSQL 四、mysql进阶 2(mysql逻辑架构以及查询流程)
1. 逻辑架构剖析 1.1 服务器处理客户端请求 mysql是典型的c/s架构,即 client/server 架构,不论是客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(sql语句),服务器进程处理后再向客户端进程发送一段文本(处理结果) 下面具体展开看一下: 系统(客户端)访问 MySQL 服务器前,做的第一件事就是建立 TCP 连接。 经过三次握手建立连接原创 2024-06-18 10:29:16 · 1178 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 7(MySQL8其它新特性)
MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上 做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。1.1 MySQL8.0 新增特性1. 更简便的NoSQL支持NoSQL泛指非关系型数据库和数据存储。随着互联网平台的规模飞速发展,传统的关系型数据库已经越来越不能满足需求。从5.6版本开始,MySQL。原创 2024-06-14 11:34:55 · 856 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 6(触发器)
在实际开发中,我们经常会遇到这样的情况:有 2个或者多个相互关联的表,如商品信息和库存信息分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。这样一来,我们就必须把这两个关联的操作步骤写到程序里面,而且要用事务包裹起来,确保这两个操 作成为一个原子操作,要么全部执行,要么全部不执行。要是遇到特殊情况,可能还需要对数据进行手 动维护,这样就很容易忘记其中的一步,导致数据缺失。这个时候,咱们可以使用触发器。原创 2024-06-13 18:42:29 · 1009 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 5(变量、流程控制与游标)
定义条件是事先定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方 式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能 力,避免程序异常停止运行。说明:定义条件和处理程序在存储过程、存储函数中都是支持的。2.1 案例分析创建一个名称为的存储过程。SET @x = 2;SET @x = 3;# 调用存储过程:+------+| @x |原创 2024-06-13 15:58:48 · 836 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 4(存储过程与函数)
含义:存储过程的英文是。它的思想很简单,就是一组经过预先编译的SQL 语句的封装。执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用 存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL语句全部执行。好处1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力2、减少操作过程中的失误,提高效率3、减少网络传输量(客户端不需要把所有的SQL 语句通过网络发给服务器)4、减少了SQL。原创 2024-06-12 17:31:01 · 1065 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 3(视图)
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。刚才讲的只是视图的一个使用场景,实际上视图还有很多作用。最后,我们总结视图的优点。2、视图的理解:视图是一种虚拟表,本身是不具有数据的,占用很少的内存空间,它是SQL中的一个重要概念。原创 2024-06-12 11:32:48 · 627 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 2(约束)
1.1为什么需要约束数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑:实体完整性(:例如,同一个表中,不能存在两条完全相同无法区分的记录域完整性(:例如:年龄范围0-120,性别范围男女引用完整性(:例如:员工所在部门,在部门表中要能找到这个部门。原创 2024-05-24 19:04:43 · 366 阅读 · 0 评论 -
MYSQL 三、mysql基础知识 1(数据类型)
浮点数和定点数类型的特点是可以处理小数,你可以把整数看成小数的一个特例。因此,浮点数和定点数的使用场景,比整数大多了。MySQL支持的浮点数类型,分别是FLOATFLOAT 表示单精度浮点数;DOUBLE 表示双精度浮点数;REAL默认就是DOUBLE。如果你把SQL模式设定为启用,那 么,MySQL就认为REAL是FLOAT。如果要启用,可以通过以下SQL语句实现:SET问题1FLOAT和DOUBLE这两种数据类型的区别是啥呢?SET。原创 2024-05-23 14:53:51 · 857 阅读 · 0 评论 -
MYSQL 二、SQL语句总结 2 (创建和管理表 以及 数据增删改)
保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据 类型在一个表里是整数,那在另一个表里可就别变成字符型了。软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名。必须保证你的字段没有和保留字、数据库系统或常用方法冲突。修改表指的是修改数据库中已经存在的数据表的结构。数据库名、表名、字段名等对象名中间不要包含空格。数据库名、表名不得超过。个字符,变量名限制为。原创 2024-05-17 18:33:34 · 388 阅读 · 0 评论 -
MYSQL 一、mysql详解
1、DML(Data Manipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性。2、DDL(Data Definition Language):数据定义语句,用于库和表的创建、修改、删除。3、虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。5、表中的数据是按行存储的,每一行类似于java中的“对象”。原创 2024-04-18 16:37:28 · 397 阅读 · 0 评论 -
MYSQL 二、SQL语句总结 1 (select相关)
F5 刷新。CTRL+F 查找字段。SHIFT+CTRL+R 运行当前语句。CTRL+TAB 或 SHIFT+CTRL+TAB 下一个窗口或选项卡。创建表、删除表、在表中增加字段、在表中减少字段,修改表字段名等。原创 2024-04-16 17:42:57 · 958 阅读 · 0 评论