05 2021 档案
摘要:文章更新时间:2021/07/01 一、综合例子 联合索引第一个字段用范围不会走索引 第一个字段就是范围查询时,可能会导致全表扫而不用索引,因为mysql可能认为第一个条件就是范围查询会导致结果集很大,还要回表,索性就干脆直接全表查询了。 -- 第一个条件就用到范围查询,可能会导致全表扫描,而不走索
阅读全文
摘要:一、MySQL内部组件结构 我们简单的通过一张图来分析MySQL内部组件结构: Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、
阅读全文
摘要:一、下载 下载地址:https://dev.mysql.com/downloads/mysql/【8.0,64位版本】 二、配置文件 my.ini文件内容: [mysqld] #bin-log设置 server_id=1920 log_bin = zhbinlog binlog_format = R
阅读全文
摘要:一、引言 我们都知道索引是为了提高数据检索的性能,但是不合适的索引或者使用不当等因素,也会使得索引失效导致全表扫描,这篇文章简单汇总一下索引优化的原则。 二、索引优化规约【重要】 1、直接用索引列当查询条件 2、最左前缀法则 3、不在索引列上做任何运算操作 4、把带范围的查询条件放在sql最后 5、
阅读全文
摘要:一、引言 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析我们的查询语句有哪些可优化的地方,这样有助于我们优化原有的SQL,在执行SQL时也能做到心里有底。 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行
阅读全文
摘要:一、引言 MySQL是目前互联网公司常用的数据库之一,几乎所有业务都离不开对数据的操作,那么对于数据查询来说,索引又是一个绕不开的话题,所以从这篇文章开始重新认识一下MySQL的索引,也便于我们日后对于一些SQL的优化事半功倍。 二、索引 定义:索引是帮助MySQL高效获取数据的排好序的数据结构 索
阅读全文
摘要:一、引言 Hash在开发中的应用非常广泛,包括文件完整性校验,数字签名,鉴权等方面,都有一定程度的应用,而Hash分支衍生的数据结构也是很重要的一部分,这篇文章就记录一下Hash的学习过程。 二、Hash【散列函数】 定义:把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度
阅读全文