后端整理(MySql)

1 事务

1.1 事务ACID原则

原子性(Atomicity)

事务的原子性指的是事务的操作,要么全部成功,要么全部失败回滚

一致性(Consistency)

事务的一致性是指事务必须使数据库从一个一致状态转变成另一个一致性状态

比如,假设A 和 B 两者存款的和为5000,那么他们两个人之间无论怎么转账,他俩的存款加起来还是5000,这就是事务的一致性

隔离性(Isolation)

事务的隔离性指的是当多个用户并发访问数据库时,比如操作同一张表,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离

持久性

事务的持久性指的是,一个事务一旦被提交了,那么它对数据库的改变就是永久的

2 存储过程

由Mysql5.0版本开始支持存储过程

2.1 什么是存储过程

当需要实现用户的一些需求时,需要编写一组复杂SQL语句才能实现,并且需要多次使用,那么我们可以提前将这组SQL语句提前编写在数据库中,由JDBC进行调用执行。我们把编写在数据库中的SQL语句集称作为存储过程
就是数据库SQL语言层面的代码封装

2.2 优点

  1. 简化了复杂操作。
  2. 简化了对变动管理。有变化只需要修改存储过程中的代码,使用的人不必变动
  3. 有助于提高应用程序的性能。当存储创建编译后,就存储在数据库缓存中
  4. 有助于减少应用程序和数据库服务器之间的流量。因为应运程序不必发送多个复杂的SQL语句,只需要发送存储过程中的名称和参数即可
  5. 可重用和透明
  6. 安全性

2.3 缺点

  1. 如果使用大量的存储过程,那么使用这些存储过程的每个连接的内存使用量将大大增加
  2. MySQL不提供调试存储过程的功能
  3. 开发和维护不容易
  4. 对数据库依赖程度高,移植性差

3 SQL优化

提到SQL优化,首先我们得明白,如何找到需要优化的语句

  1. 观察服务器状态,一般用如下2个命令,Show status; Show processlist
  2. 也可以通过Druid对数据库监控进行观察
  3. 也可以通过记录慢查询日志观察(EXPLAIN查看执行计划)

3.1 如何进行SQL语句优化

参考该博客
SQL语句优化的30种方法,总结的太棒了

4 索引失效

4.1 索引失效原因

4.2 索引设计的几个建议

相关推荐
花间相见1 小时前
【计算基础|MySQL01】【上手】安装连接、数据类型与建库建表
数据库·后端
花间相见1 小时前
【计算基础|MySQL02】【上手】SQL 增删改查
数据库·后端
ITxiaobing20231 小时前
IP 库与 AppsFlyer 国家/地区数据不一致,如何系统地对账?
数据库·网络协议·tcp/ip
这个DBA有点耶1 小时前
从时间到语义:时序数据库与向量数据库的核心机制、选型与多模融合趋势
数据库·mysql·架构
SL_staff1 小时前
考勤同步工资核算总出错?破解企业级精准自动化的三个刚性支点
mysql·github·全栈
对空六课2 小时前
RFM分层边界变化的回溯计算
大数据·服务器·前端·数据库·人工智能·算法·数据分析
小羊没烦恼!2 小时前
如何在IIS6,7中部署ASP.NET网站?
数据库·后端·python·web安全·asp.net
CableTech_SQH2 小时前
行业运维新标杆:百盛3D全场景运维系统
运维·数据库·信息与通信·综合布线
毕业设计7032 小时前
(免费领源码)基于node的学生公寓管理系统06412- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·mysql·node.js·maven·mybatis·express·b/s
ITOM运维行者2 小时前
WAN监控怎么做?从链路质量指标到路径级定位的完整方法
数据库·人工智能·机器学习