MySQL
文章平均质量分 92
MySQL入门到精通,适合新手小白。正在持续更新中...
Maiko Star
Java领域新星创作者
展开
-
InnoDB引擎
① 表空间(ibd文件),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。② 段,分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+树的非叶子节点。段用来管理多个Extent(区)。③ 区,表空间的单元结构,每个区的大小为1M。默认情况下,InnoDB存储引擎页大小为16K,即一个区中一共有64个连续的页。原创 2024-01-10 16:58:24 · 901 阅读 · 0 评论 -
MySQL 锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。原创 2023-09-10 11:33:47 · 244 阅读 · 0 评论 -
MySQL触发器使用指南大全
触发器是与表有关的数据库对象,指在insert/update/delete之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发(比如说 一条语句影响了 5 行 则会被触发 5 次),不支持语句级触发(比如说 一条语句影响了 5 行 则会被触发 1 次)。触发器类型NEW 和 OLDINSERT。原创 2023-09-09 21:58:50 · 977 阅读 · 0 评论 -
数据库(MySQL)的存储过程和存储函数
存储过程是事先经过编译并存储在数据库中的一段SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库SQL 语言层面的代码封装与重用。特点封装,复用可以接收参数,也可以返回数据减少网络交互,效率提升。原创 2023-09-02 17:59:58 · 1026 阅读 · 0 评论 -
SQL优化 之 百万数据真实案例教程0基础(小白必看)
如果数量较大,可以使用 LIMIT 子句来限制返回的行数。原创 2023-09-01 18:35:00 · 324 阅读 · 0 评论 -
MySQL视图
视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。原创 2023-08-22 19:34:25 · 966 阅读 · 0 评论 -
SQL优化
通过创建覆盖索引,可以避免对主表的访问,直接从索引中获取所需的列数据,提高查询速度。在分页查询中,可以先执行一个子查询来获取满足条件的主键或唯一标识符,并将其作为条件用于主查询,以获取特定的页码数据。如果order by字段全部使用升序排序或者降序排序,则都会走索引,但是如果一个字段升序排序,另一个字段降序排序,则不会走索引,explain的extra信息显示的是。列出现在了索引的最左边,并且查询和排序都是从最左边的列开始的,所以这个查询语句可以利用该索引进行优化。”,所以顺序插入的效率高。原创 2023-08-13 17:14:17 · 194 阅读 · 0 评论 -
MySQL 索引 详解(保姆级教程)
索引是帮助 MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查询算法,这种数据结构就是索引。索引结构描述B+Tree最常见的索引类型,大部分引擎都支持B+树索引(默认)Hash底层数据结构是用哈希表实现,只有精确匹配索引列的查询才有效,不支持范围查询R-Tree(空间索引)空间索引是 MyISAM 引擎的一个特殊索引类型,主要用于地理空间数据类型(通常使用较少)原创 2023-08-10 19:34:12 · 619 阅读 · 0 评论 -
数据库的约束 详解
1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。2.目的:保证数据库中数据的正确、有效性和完整性。约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一、不重复的UNIQUE主键约束主键是一行数据的唯一标识,要求非空且唯一默认约束保存数据时,如果未指定该字段的值,则采用默认值DEFAULT检查约束(8.0.1版本后)保证字段值满足某一个条件CHECK外键约束。原创 2023-08-05 16:38:06 · 1387 阅读 · 0 评论 -
MySQL存储引擎
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。MySQL默认的存储引擎是InnoDB。--查询建表语句show create table 表名;--建表时指定存储引擎CREATE TABLE 表名(...-- 查看当前数据库支持的存储引擎。原创 2023-08-07 19:02:15 · 242 阅读 · 0 评论 -
深入理解数据库事务(超详细)
事务是一组操作的集合,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。原创 2023-08-06 17:09:51 · 970 阅读 · 0 评论 -
MySQL多表查询 (超详细)
关系:一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升操作效率。实现:在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的(UNIQUE)(开发中一般取消外键的设定,即在多的一方建立字段指向一的一方的主键即可)(开发中一般取消外键的设定,即在任意一方加入字段关联另外一方的主键即可)(开发中一般取消外键的设定,即在中间表建立两个字段指向两方的主键即可)关系:一个部门对应多个员工,一个员工对应一个部门。实现:在多的一方建立外键,指向一的一方的主键。原创 2023-08-05 17:07:24 · 5203 阅读 · 1 评论 -
MySQL的常用函数大全
(case when english >= 85 then'优秀' when english >=60 then '及格' else '不及格' end ) '英语',(case when chinese >= 85 then'优秀' when chinese >=60 then'及格' else '不及格' end )'语文' from score;(case when math >= 85 then'优秀' when math >=60 then'及格' else '不及格' end )'数学'原创 2023-08-05 15:38:02 · 2710 阅读 · 0 评论 -
SQL分类及通用语法&&数据类型(超详细版)
L+1字节,在此,L< = M和 1原创 2023-08-03 20:11:41 · 3885 阅读 · 1 评论