一,索引
1.概念
- 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针
- 可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现
- 索引保存的数据结构主要为B+树,及hash的方式
2.作用
- 数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。
- 索引所起的作用类似书籍目录,可用于快速定位、检索数据。
- 索引对于提高数据库的性能有很大的帮助
3.使用场景
要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点:
- 数据量较大,且经常对这些列进行条件查询
- 该数据库表的插入操作,及对这些列的修改操作频率较低
- 索引会占用额外的磁盘空间
满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引
4索引的使用
- 查看索引
show index from 表名;
- 创建索引
--对于非主键、非唯一约束、非外键的字段,可以创建普通索引
create index 索引名 on 表名(字段名);
- 删除索引
drop index 索引名 on 表名;
5.使用索引的说明
(1)对于插入、删除数据频率高的表,不适用索引
(2)对于某列修改频率高的,该列不适用索引
(3)通过某列或某几列的条件查询频率高的,可以对这些列创建索引
二,事务
1.概念
- 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败
- 在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务
2.使用
(1)开启事务:start transaction;
(2)执行多条SQL语句
(3)回滚或提交:rollback/commit;
说明:rollback即是全部失败,commit即是全部成功
3.事务的四大特性
特性(acid):原子性,一致性,持久性,隔离性