后端整理(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 索引设计的几个建议

相关推荐
ss2735 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
瑞克-桑切斯5 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
z06.6 小时前
MySQL索引
数据库·mysql
考虑考虑6 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
云祺vinchin6 小时前
中小企业备份软件选型从恢复需求到总体成本评估
数据库·数据备份·中小企业备份·容灾备份软件
Zenova EdgeOS6 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
KKKlucifer6 小时前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
字节跳动开源7 小时前
OpenViking 上线原生 3D 内容理解模型
数据库·开源
CCIE-Yasuo9 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶9 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构