mysql 性能优化

  1. 聚集索引

InnoDB 所有的表都是索引组织表,主键与数据存放在一起。创建表时,如果指定了主键,则将其作为聚集索引,如果没有唯一索引,则内部会生成一个6字节的rowid 作为主键

2.辅助索引 会让你更快的查找数据,逐渐索引通常用于确保数据的一致性和唯一性,而辅助索引则是为了提高查询性能而创建。

3.基数是字段distinct后的值,主键的唯一索引的基数等于表的总行数;选择性是指基数与总行数的比值,选择性通常表示在字段是否适合创建索引;当要查询的字段不能在索引中完全获得时,则需要回表查询取出所需要的数据

4.在mysql中,可以通过系统表innodb_index_stats来查看索引的选择性如何,并且可以看到组合索引中每个字段的选择性如何,还可以计算索引的大小

相关推荐
这个DBA有点耶6 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
疯华整猫6 小时前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
这个DBA有点耶7 小时前
从反向扫描O(n)到正向扫描O(1):降序索引的物理机制与混合排序匹配规则
数据库
2501_933923258 小时前
解读Redis:单线程模型
数据库·redis·缓存
Tapdata9 小时前
被忽略的第三类上下文:Agent 进入真实业务后,还缺什么?
数据库·人工智能·架构
小科先生10 小时前
Java springboot调用数据库的基本流程
java·数据库·spring boot
星恒随风10 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Pniubi12 小时前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
数据库小学妹13 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql
aiks_yuan13 小时前
MySQL 死锁怎么排查:看懂 INNODB STATUS 死锁日志,先查后插为什么必死锁(MySQL 8.2 实测)
mysql