随笔分类 - 【002】MySQL
MySQL的基础架、日志系统、事务、索引、锁
摘要:MySQL 优化是提升数据库性能、响应速度和资源利用率的关键步骤。以下是一些常见的 MySQL 优化策略: 1. 数据库设计优化 规范化与反规范化: 规范化可以减少数据冗余,但过度规范化可能导致多表连接,影响性能。适当反规范化(如冗余字段)可以减少连接操作,提升查询速度。 选择合适的数据类型: 使用
阅读全文
摘要:mysql 性能优化的关注点 其实,mysql 性能优化不是简单的知道和使用 explain和show profile就天下无敌了,这两个只是重要的方面,何况作为资深的CRUD工程师还未必经常使用,任何的知识都是了解->熟悉->精通,当真正的了解原理或者系统的掌握才是真正的悟道。接下来开始进入正题,
阅读全文
摘要:一、基本的分析命令 1、explain+SQL语句:查看执行计划 2、show create table table1:查看table1的创建SQL 3、show indexes from table1:查看table1所有的索引 4、show table status like 'table1'
阅读全文
摘要:1、全局锁 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建
阅读全文
摘要:1、原理 索引其实就像一本书的目录,便于我们快速找到想要看的内容。就像我们的《新华字典》,可以按部首查,可以按拼音查,可以快速查到想要查的字。 2、类型 B-Tree 使用B-Tree数据结构来存储数据(实际使用B+Tree更多),所有的值都是按顺序存储的,可以加快查找速度,把查找复杂度从O(n)
阅读全文
摘要:1、隔离级别 SQL 标准的事务隔离级别包括:读未提交(read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(serializable )。 读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。 读提交是指,一个事
阅读全文
摘要:1、redo log (引擎层) 如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程 IO 成本、查找成本都很高。为了解决这个问题,MySQL 的设计者就用了类似酒店掌柜粉板的思路来提升更新效率。而粉板和账本配合的整个过程,其实就是 MySQL 里经常说到的 W
阅读全文
摘要:1、MySQL逻辑架构图 2、整体解析 大体上MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,
阅读全文
摘要:1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len ref rows extra各列。 其中, type=const表示
阅读全文
摘要:问题排查,MySQL查询优化
阅读全文