知道什么是聚簇索引,什么是二级索引吗?
聚簇索引将数据与索引存储在一起,B+树叶子节点包含整行数据,每表仅一个,通常为主键。二级索引(非聚簇)则分离数据与索引,叶子节点存主键值,可有多个。无主键时,MySQL选非空唯一索引或自动生成rowID作为聚簇索引。
什么是回表查询 ?
MySQL中InnoDB引擎的聚簇索引将数据与索引存储在一起,每表仅一个;二级索引则分离存储,叶子节点保存主键值。回表查询需先查二级索引再查聚簇索引,性能较低。优化方式包括:使用主键查询、创建联合索引实现覆盖索引、利用MySQL 5.6+的索引下推功能,减少回表次数,提升查询效率。(238字)
为什么MySQL索引结构是B+tree ?
MySQL采用B+树作为索引结构,因其非叶子节点仅存键值与指针,可存储更多键,降低树高,提升查询效率。数据集中于叶子节点并形成双向链表,支持高效稳定的范围查询。通常树高为2-3层,即可容纳上千万数据,显著优于二叉树或B树。
Python 持久层开发:从文件到数据库的实践指南
Python持久层开发覆盖全场景需求,从轻量文件(TXT/CSV/JSON)到关系型数据库(SQLite/MySQL/PostgreSQL),再到非关系型数据库(MongoDB/Redis),结合ORM工具,按需选型可实现高效、可靠的数据存储与访问,适配从小工具到企业级系统的各类应用。
【赵渝强老师】MySQL的数据约束
本文介绍了MySQL中的六种数据约束:主键、外键、唯一、检查、非空和默认值约束,通过示例讲解其作用与用法,帮助确保数据库数据的完整性与准确性。
开发环境搭建
工欲善其事,必先利其器。建议电脑内存16G以上,推荐32G;可配便携显示器提升效率。下载资料并按要求配置虚拟机(CentOS 7,IP:192.168.101.68),安装VMware 16/17,导入虚拟机文件,设置8G内存、8核CPU。苹果用户需用Docker安装MySQL 8。使用FinalShell通过SSH连接虚拟机进行开发。
分页
简介:分页实现方式多样,包括MyBatis自带的RowBounds内存分页、PageHelper插件自动适配数据库的物理分页、原生SQL分页、数组subList分页及拦截器分页。物理分页适用于大数据量,效率高;逻辑分页适用于小数据量,内存开销大。推荐优先使用物理分页。
OAuth2.0实战案例
基于Spring Boot与Spring Cloud构建OAuth2安全认证系统,包含父工程、资源服务与授权服务模块,集成Spring Security、MyBatis及MySQL,实现统一权限管理与安全访问控制。