
数据库优化专题
文章平均质量分 96
乖巧程序员
大家好,我是一名热爱编程的程序员,专注于Java、Spring Boot、SpringCloud、SpringCloudAlibaba、Redis、MQ、MongoDB等后端技术,同时熟悉Vue.js和React等前端框架。拥有多年开发经验,擅长解决复杂问题,注重代码质量和架构设计。
我热衷于技术分享,希望通过优快云平台将自己的经验和知识传递给更多的朋友。我的博客内容涵盖最新技术的学习笔记、项目开发实战心得、技术面试题解析和常见问题解决方案。
欢迎大家关注我,共同探索编程的乐趣。你的支持是我持续分享的动力,期待在评论区与大家交流讨论。关注我,不迷路,技术干货不断,与你一起进步!
展开
-
数据库优化-(四)MySQL锁和事务原理
本篇文章主要讲解两块内容:Mysql中的锁和ACID原理另外:当某个线程操作一个条被别的线程加了锁的数据时,等待时间过长就会出现:Lock wait timeout exceeded异常> 时间: 50.445s默认情况下:InnoDB的锁获取时间是50s,可以通过命令来查看超时时间事务:指作为单个逻辑工作单元(Service方法)执行的一系列操作(数据库操作),要么完全地执行,要么完全地不执行.事务可以看做是一组任务,通常对应了一个业务方法,这些任务要么全部成功,要么全部失败。原创 2024-08-19 10:25:40 · 795 阅读 · 0 评论 -
数据库优化-(三)索引优化实战
主要负责用户登录数据库,进行用户的身份认证,包括校验账户密码,权限等操作,如果用户账户密码已通过,连接器会到权限表中查询该用户的所有权限,之后在这个连接里的权限逻辑判断都是会依赖此时读取到的权限数据,也就是说,后续只要这个连接不断开,即时管理员修改了该用户的权限,该用户也是不受影响的。如果能按照ID列作为条件查询性能是最优的,如果不能,那么需要找到where条件中`唯一性最高,且查询频率最高`的列,比如:手机号,用户名,这样的列让他去命中索引。所以我们编写SQL是需要尽可能按照索引列排序的。原创 2024-08-01 09:49:01 · 348 阅读 · 0 评论 -
数据库优化-(二)MySQL-Explain索引分析
通过explain命令我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。就能拿到结果,一般是扫描某个二级索引,这种扫描不会从索引树根节点开始快速查找,而是直接对索引的叶子节点遍历和扫描,速度还是比较慢的,这种查询一般为使用覆盖索引,二级索引一般比较小,所以这种通常比ALL快一些。该列展示的是当前SQL可以选择的索引列,如果为null那么需要检查wehre后面的条件列是否有可选择的索引,案例。原创 2024-07-31 18:00:30 · 800 阅读 · 0 评论 -
数据库优化-(一)认识MySQL索引
索引(Index)是帮助DBMS(数据库)高效获取数据的数据结构,索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。如果数据库没有索引就会走表进行全表扫描,一旦数据量上来,简直就是灾难。原创 2024-07-30 10:20:23 · 817 阅读 · 0 评论