MySQL基础学习
文章平均质量分 52
mysql基础学习
失败尽是常态Zzz(热爱、专注、坚持)
主观能动性,复盘总结者,快速学习者。
展开
-
Mysql主存复制
原创 2023-04-23 22:23:06 · 34 阅读 · 0 评论 -
常见的数据库操作语言DDL、DML、DQL和DCL
DDL(数据定义语言),DML(数据操作语言),DQL(数据查询语言)和DCL(数据控制语言)是SQL(结构化查询语言)中的四种子类。DDL、DML、DQL和DCL是常见的数据库操作语言,分别代表数据定义语言、数据操纵语言、数据查询语言和数据控制语言。总之,DDL、DML、DQL和DCL都是数据库操作语言的重要组成部分。用于在数据库中创建、修改或删除表、视图、索引、序列等对象。常见的DDL命令有CREATE、ALTER和DROP等。用于在数据库中对表进行插入、更新、删除等操作。用于从数据库中查询数据。原创 2023-05-07 00:03:41 · 1898 阅读 · 0 评论 -
为何使用 B+ 树而非二叉查找树或 B 树做索引?
而 B+ 树只在叶子结点存储数据,非叶子结点存储关键字,且不同非叶子结点的关键字可能重复,因此查询数据时,时间复杂度固定为 O(log n)。文件系统需要从磁盘读取数据时,一般以页为单位进行读取,假设一个页内的数据过少,那么操作系统就需要读取更多的页,涉及磁盘随机 I/O 访问的次数就更多。由于索引文件很大因此索引文件存储在磁盘上,B+ 树的非叶子结点只存关键字不存数据,因而单个页可以存储更多的关键字,即一次性读入内存的需要查找的关键字也就越多,磁盘的随机 I/O 读取次数相对就减少了。原创 2023-05-12 13:08:55 · 569 阅读 · 0 评论 -
MySQL的最左匹配原则
这个原则的实际含义是:当我们查询的条件包含多个字段时,如果建立了多列组合索引,那么 MySQL 只会使用该索引中最左边的列作为索引键,从而定位到第一个匹配的行,然后再逐个匹配剩余条件。因此,如果不按照索引建立顺序来定义 WHERE 子句,那么 MySQL 将无法利用多列索引,而需要进行全表扫描,对性能将产生很大的影响。具体来说,如果有一个由 (a,b,c) 组成的复合索引,则在查询时必须先使用 a 进行过滤,然后才能使用 b 或 c 进行过滤,即使 b 或 c 也属于索引的一部分。原创 2023-05-11 09:59:36 · 564 阅读 · 0 评论 -
MySQL的事务特性、事务特性保证和事务隔离级别
如果出现任何问题导致事务失败,则必须回滚事务并撤销所有更改,以确保数据库状态与开始事务之前的状态一致。这意味着,在事务执行期间,如果出现任何错误,则必须回滚所有对数据库的更改以确保其状态的一致性。:最低级别的事务隔离级别,允许一个事务中的修改可以被另外一个未提交的事务所读取。:这种隔离级别保证同一事务内多次读取同样的数据时,它们所读取的内容总是一致的。事务是指要么所有的操作都成功执行,要么所有的操作都不执行的一组数据库操作。:一个事务中的所有操作要么全部提交成功,要么全部回滚失败,保证事务的原子性。原创 2023-05-09 20:08:41 · 546 阅读 · 0 评论 -
MyIsAm和InnoDB的区别
但 InnoDB 是聚集索引(聚簇索引),而 MyISAM 是非聚集索引(非聚簇索引)。(聚簇索引是指按照表主键创建的索引,非聚簇索引则不是按照主键创建的索引。InnoDB支持事务(Transaction),具有提交(Commit)、回滚(Rollback)和崩溃恢复(Crash Recovery)等特性,适合处理大量数据的插入、删除和修改操作。MyISAM通常需要较少的磁盘空间,因为它将索引和数据分开存储。的过程(先去辅助索引中查询数据,找到数据对应的key之后,再通过key回表到聚簇索引树查找数据))原创 2023-05-09 12:13:07 · 456 阅读 · 0 评论 -
MySQL常见的存储引擎
文件:xxx.ibd: xxx代表的是表名,innoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引参数: innodb_file_per_table。:是早期MySQL使用的非事务型存储引擎,没有提供类似于InnoDB的事务功能,但有支持全文索引和压缩等功能。:InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL 5.5之后,InnoDB是默认的MySQL存储引擎。:全部存储在内存中的存储引擎,可以快速地进行读写操作,但会受到内存限制。原创 2023-05-08 23:20:49 · 731 阅读 · 0 评论