
高效的MySQl
文章平均质量分 90
Psycho_MrZhang
这个作者很懒,什么都没留下…
展开
-
MySQL的架构和历史
延迟更新索引键: 指定了DELAY_KEY_WRITE,在修复完成之后,不会立即修改索引数据写入磁盘,而是进入到内存的缓冲区,当清理缓冲区或者关闭表才会将对应的索引写入磁盘,可以提高性能,但是如果主机崩溃需要进行修复。在事务中修改,即使没有提交,对于其他事物也都是可见的,事务可以读取未提交的数据,这个级别会导致很多问题 ,性能也不会比其他好很多,很少用。最高隔离级别,强制事务串行执行,避免了幻读,会在读取的每一行数据都加锁,这样会导致性能问题,但是在考虑数据一致性的情况下可以使用。原创 2024-12-03 22:11:51 · 572 阅读 · 0 评论 -
MySQL高性能索引
聚簇索引就是在同一个结果中保存了B-Tree索引和数据行,当表有聚簇索引的时候,数据行实际存放在索引的叶子页,成为’聚簇’,表示数据行和相邻的键值紧凑的存储在一起,因为存储引擎实现的索引,并不是所有的存储引擎都支持聚簇,在InnoDB引擎中主键默认就是聚簇索引。InnoDB,有一个特殊功能,‘自适应哈希索引’,当InnoDB发现一些索引被使用非常频繁,会在内存中基于B-Tree索引加上哈希索引,这样就让就让B-Tree索引具有哈希索引的一些优点。原创 2024-12-03 22:12:28 · 779 阅读 · 0 评论 -
MySQL服务器性能剖析
聚簇索引就是在同一个结果中保存了B-Tree索引和数据行,当表有聚簇索引的时候,数据行实际存放在索引的叶子页,成为’聚簇’,表示数据行和相邻的键值紧凑的存储在一起,因为存储引擎实现的索引,并不是所有的存储引擎都支持聚簇,在InnoDB引擎中主键默认就是聚簇索引。InnoDB,有一个特殊功能,‘自适应哈希索引’,当InnoDB发现一些索引被使用非常频繁,会在内存中基于B-Tree索引加上哈希索引,这样就让就让B-Tree索引具有哈希索引的一些优点。原创 2024-12-03 22:13:04 · 1007 阅读 · 0 评论 -
MySQL服务器配置优化
我们通常情况下可以使用默认配置, 但是当遇到一些性能问题或者其他问题的时候才需要修改MySQL的配置, 不要做不必要的修改可能会导致意外的bug。原创 2024-12-03 22:15:40 · 667 阅读 · 0 评论 -
MySQL查询性能优化
用户自定义变量是一个用来存储内容的临时容器,连接MySQL的整个过程都存在自定义变量的属性和限制无法使用查询缓存不能使用常量或者标识符的地方使用自定义变量,例如表名,LIMIT子句用户自定义变量在生命周期在一个连接中有效,所以不能用它们做连接通信如果使用连接池或者持久化连接,自定义变量可能看起来和毫无关系的代码交互不能显式的自定义变量类型,最好初始化,但是在赋值的时候会改变一些情况下变量会被优化器优化掉赋值的时间和顺序不固定赋值符号 “:=” 优先级很低。原创 2024-12-03 22:24:51 · 1086 阅读 · 0 评论 -
MySQL分区管理
注意,不能添加已有的值,会导致错误譬如在(6, 12, 18)中添加(7, 12, 21)会导致报错, 可以通过备份数据 重组表,但是非常麻烦且不利于生产环境。这与删除存储在分区中的所有记录,然后重新插入它们具有相同的效果。会导致错误, 但是可以通过将第一个分区重新组织为两个分区来解决此问题, 这不会导致数据丢失。您可以使用CHECK TABLE与用于非分区表的方式非常相似的方式来检查分区是否存在错误。使用ALL使语句作用于表中的所有分区。删除分区,也会删除分区中存储的所有数据。读取存储分区的秘钥分布。原创 2024-12-03 22:34:23 · 953 阅读 · 0 评论 -
MySQL分区类型
支持分区表的存储引擎InnoDB和NDB创建分区表和普通表一样不指定就会使用默认存储引擎MySQL创建表分区必须具有每一个唯一键的一部分,所以以下SQL不能创建一个分区表, 因为pk和uk没有共同的列CREATE TABLE tnp (原创 2024-12-03 22:34:53 · 602 阅读 · 0 评论 -
MySQl高级特性
分区表: 分区表是一种粗粒度, 简易的索引策略, 适用于大量数据过滤, 最适合场景在没有合适索引对几个分区进行全表扫描, 或者只有一个分区和索引是热点, 而且这个分区和索引能够在内存中, 建议分区不要操作150个, 分区表对于单条查询没有优势视图: 对好几个表的复杂查询, 使用视图会简化问题, 当视图使用临时表无法将WHERE条件下推到各个具体的表, 也不能使用任何索引, 需要特别注意查询的性能, 如果为了便利, 视图还是很合适的。原创 2024-12-03 22:35:25 · 1137 阅读 · 0 评论 -
MySQL主从架构配置
官方地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-linux-glibc2.12-x86_64.tar。 **注意: 前后两次配置方法是一样的只是放到了不同文件下 **在 log 文件下创建 mysqld.log 文件。原创 2024-12-03 22:36:24 · 325 阅读 · 0 评论