Java学习笔记 --- MySQL-索引和事务

本文详细介绍了MySQL的索引原理,包括索引的类型和使用,强调了索引对查询速度的影响及维护成本。接着,深入探讨了MySQL事务,包括事务的概念、操作(如回退和提交)、事务隔离级别以及ACID特性。此外,还涵盖了MySQL的存储引擎选择、视图的使用和管理,以及用户权限与密码管理。
摘要由CSDN通过智能技术生成

一、索引

索引的原理

1、没有索引会全表扫描,从而查找速度会很慢

2、使用索引会形成一个索引的数据结构,比如二叉树

3、索引的代价

      磁盘占用

      对 dml(update、delete、insert)语句的效率影响

索引的类型

1、主键索引,主键自动的为主索引(类型Primary key)

2、唯一索引(UNIQUE)

3、普通索引(INDEX)

4、全文索引(FULLTEXT),一般开发不适用mysql自带的全文索引,而是使用:全文搜索Solr和ElasticSearch(ES)0

索引使用

添加索引

CREATE [UNIQUEINDEX index_name ON table_name (col_name[(length)]) [ASC| DESC],..);

添加主键索引

ALTER TABLE 表名 ADD PRIMARY KEY(列名,.....);

删除索引

DROP INDEX index_name ON table_name;

删除主键索引

ALTER TABLE table_name DROP PRIMARY KEY

查找索引

SHOW INDEX FROM table_name;

SHOW INDEXES FROM table_name;

SHOW KEYS FROM table_name;

DESC table_name;

哪些列上适合使用索引

1、较频繁的作为查询条件字段应该创建索引

2、唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件

3、更新非常频繁的字段不适合创建索引

4、不会出现在WHERE子句中字段不该创建索引

二、MySQL事务

什么是事务

        事务用于保存数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。如:转账就要用事务来处理,用以保证数据的一致性

事务和锁

1、当执行事务操作时(dml语句),mysql会在表上加锁,防止其它用户改表的数据,这对用户来说非常重要

2、mysql数据库控制台事务的几个重要操作

1、开始一个事务:START TRANSACTION

2、设置保存点:SAVEPOINT

3、回退事务:ROLLBACK TO

4、回退全部事务:ROLLBACK

5、提交事务,所有的操作生效,不能回退:COMMIT


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值