文章目录
事务(Transaction)
1. 定义
2. 如何操作事务
2.1 SQL 语句操作事务的几个关键字
2.2 使用 SQL 语句操作事务
start transaction;
-- SQL1
-- SQL2
commit; -- 事务正常提交
-- rollback; -- 我们主动让事务失败
2.3 JDBC 操作事务
String sql1 = "";
String sql2 = "";
// 要使用事务,在同一个事务中,操作 sql1 和 sql2,意味着必须在一条 Connection 完成
try (Connection c = DBUtil.connection()) {
c.setAutoCommit(false);
try (PreparedStatement ps = c.prepareStatement(sql1)) {
ps.executeUpdate();
}
try (PreparedStatement ps = c.prepareStatement(sql2)) {
ps.executeUpdate();
}
c.commit();
3. 事务的四个特性:ACID
事务的四大特性中,一致性是最基本的,其他三个特性都是为了维护一致性而生的
3.1 Atomic(原子性)
3.1.1 理解原子性
3.2 Consistency(一致性)
3.2.1 以银行转账的例子理解一致性
3.3 Isolation(隔离性)
3.4 Durability(持久性)
4. 隔离级别
4.1 读未提交
4.2 读已提交
4.3 可重复读
4.4 快照读
4.5 可串行化
索引
1. 索引的分类
以下全文只针对普通索引
2. 索引的作用
3. 创建索引
-- 使用 ALTER TABLE 语句添加索引
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
-- 使用 create 语句添加索引
CREATE INDEX `index_name` on `table_name` (`column_name`)