文章分类 - 数据库
数据库知识
摘要:目录 一.索引数据结构 1.1哈希表 1.2有序数组 1.3 搜索树 1.4 InnoDB 的索引模型 索引维护 二.根据索引查询步骤 2.1覆盖索引 2.2最左前缀原则 2.3索引下推 三.索引实践 3.1唯一索引和普通索引如何选择 查询过程 更新过程 change buffer的使用场景 索引选
阅读全文
摘要:目录 一.概念 二.数据库崩溃恢复 2.1知识储备 2.2崩溃如何恢复 2.3crash-safe 三.日志写入机制 3.1redo log写入机制 3.2 binlog写入机制 四.日志详解 五.具体案例 追问1:MySQL怎么知道binlog是完整的? 追问2:redo log 和 binlog
阅读全文
摘要:一.隔离级别 隔离级别 含义 读数据一致性 脏读 不可重复读 幻读 读未提交(Read Uncommitted) 事务中的修改,即使没有提交,对其他事务都是可见的 最低级别,只能保证不读取物理上损坏的数据 是 是 是 读已提交(Read Committed) 事务从开始到提交之前,所做的修改对其他事
阅读全文
摘要:MySQL逻辑架构 MySQL的逻辑架构图 大体来说,MySQL可以分为Server层和存储引擎层两部分。 Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如
阅读全文
摘要:https://dev.mysql.com/doc/refman/8.0/en/information-schema-introduction.html
阅读全文
摘要:一.使用方法 格式:explain + select查询语句 eg:explain select * from user; 二.输出列 type Extra 备注
阅读全文
摘要:explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了: 如: explain select surname,first_name form a,b where a.id=b
阅读全文
摘要:创建高性能的索引 一.索引基础 select first_name from sakila.actor where actor_id = 5; 如果在actor_id列上建有索引,则MySQL将使用该索引找到actor_id为5的行,也就是说,MySQL先在索引上按值进行查找,然后返回所有包含该值的
阅读全文
摘要:Schema与数据类型优化 4.1选择优化的数据类型 1.更小的通常更好 更小的数据类型通常更快,因为它们占用更小的磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少。 2.简单就好 简单数据类型的操作通常需要更少的CPU周期 3.尽量避免null 通常情况下最好指定列为NOT NULL,除非真
阅读全文
浙公网安备 33010602011771号