mysql 性能优化

  1. 聚集索引

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

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

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

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

相关推荐
Nturmoils1 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波5 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6001 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
TrisighT1 天前
Electron 跑在鸿蒙 PC 上,单窗口和多窗口内存差 800MB?我抓了 5 组数据
性能优化·electron·harmonyos
GreatSQL1 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_1 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横4 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二4 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程