MySQL索引的数据结构:InnoDB中索引的推演 MySQl InnoDB中索引的推演 看一个精确匹配的例子:select * from table1 where 列名 = 'xxx'; 1. 创建索引之前的查找 在一个页中查找 假设目前表中数据较少,所有记录都可以被存在一个页中,在查找是可以根据条件分为两种情况: 以主键为搜索条件 可以在页目录中使用二分法快
InnoDB与MyISAM的对比 MySQl InnoDB与MyISAM的对比 为了方便管理,人们把连接管理,查询缓存,语法解析,查询优化这些不涉及真实数据存储的功能划分为MySQL Server的功能,把真是存取数据的功能划分为引擎功能。 所以在MySQL Server完成查询优化后,只需要按照引生成的执行计划,调用引擎提供的API,获取到数
MySQL索引的数据结构:数据页 MySQl MySQL数据页 数据页是MySQL中磁盘和内存交换的基本单位,也是MySQL管理存储空间的基本单位。 数据库的 I/O 操作的最小单位是页,InnoDB 数据页的默认大小是 16KB,意味着数据库每次读写都是以 16KB 为单位的,一次最少从磁盘中读取 16K 的内容到内存中,一次最少把内存中的
MySQL索引的数据结构:为什么使用索引和索引的优点和缺点 MySQl 为什么是用索引和索引的优点和缺点 1.为什么使用索引 索引是存储引擎用于快速找到数据的一种数据结构。就好比一本书的目录部分,可以通过目录快速找到对应文章的页码。可以快速定位到需要的文章。 MySQL中也是一样的道理,进行数据查找时,先看是否命中某条索引,符合则通过索引查找相关数据,否则全表扫描,即一
Redis集群 其他 Redis集群 什么是集群 定义: 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展,每个复制集只负责存储整个数据集的一部分。提供在多个Redis节点间共享数据的程序集。 作用: 集群支持多个master,每个master又可以挂载多个slave 由于clu
PHP常用算法 PHP 1.冒泡排序 function bubbleSort ($array) { $n = count($array); for ($i = 0; $i < $n -1; ++$i) { $swap = false; for ($j = 0; $j < $
PHP线程安全 PHP PHP线程安全 在现代的多核处理器和并发执行环境中,线程安全性是开发高效、可靠的应用程序的关键。对于PHP来说,虽然它主要用于Web开发,但随着一些新的应用场景的出现,比如命令行脚本、扩展以及与多线程编程的交互,线程安全成为了开发者必须了解的一个概念。 一、什么是线程安全? 线程安全(Thread
MySQL中SQL的执行流程 MySQl MySQL中SQL的执行流程 1.MySQL查询流程 查询缓存:如果再查询缓存中发现了这条语句,就会直接返回给客户端,如果没有,就进入解析器阶段。 需要说明的是,因为查询缓存效率不高,命中率很低,所以在MySQL8.0中就抛弃了这个功能。 原因: a.大多数情况查询缓存是个鸡肋,查询缓存是把sql语
MySQL服务器端的逻辑架构 PHP MySQL服务器端的逻辑架构 1.服务器处理客户端请求 首先MYSQL是典型的C/S架构,即client/server架构,服务器端使用的mysqld。 不论客户端进程和服务器端进程是采用的哪种通信方式,最后实现的效果都是:客户端向服务器发送一段文本(SQL语句),服务器处理后再向客户端发送一段脚本
Redis哨兵模式 其他 <font style="color:rgb(25, 27, 31);">Redis哨兵模式</font> 什么是哨兵以及作用 哨兵: 俗称无人值守运维,对master服务节点进行监控,如果主节点异常,则进行投票下线,选举出新的主节点。 作用: 主从监控:监控主从服务是否异常 消息通知:可以将故障转