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

相关推荐
qq_283720051 分钟前
mysql技巧(十二):内存优化Buffer Pool 缓冲原理详解与配置
mysql·缓冲
TDengine (老段)11 分钟前
TDengine IDMP 工业数据建模 —— 数据标准化
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
xiaokangzhe32 分钟前
MySQL主从复制读写分离笔记
笔记·mysql·adb
羊小蜜.34 分钟前
Mysql 01:基础查询(SELECT)全解——从单表到多字段的完整语法
数据库·mysql·查询
猿小喵1 小时前
记录一次从库并行回放出现死锁的问题
数据库·mysql·tdsql
随风,奔跑1 小时前
Redis
数据库·redis·缓存
IvorySQL1 小时前
2MB 的 PostgreSQL work_mem,如何吃掉 2TB 内存?
数据库·postgresql·开源
桑榆肖物1 小时前
有字幕,没配音?用浏览器自带语音能力,让网页视频直接“开口说话”
数据库·edge·音视频·tts
熬夜的咕噜猫2 小时前
MySQL主从复制与读写分离
网络·数据库·mysql
道清茗2 小时前
【MySQL知识点问答题】 备份技术、Invisible Indexes 和直方图的应用
数据库·mysql