目录
一. 索引的概念,使用场景等
索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。
1.索引的作用,使用
1.索引的作用:更加快速的检索到需要查询的数据
2.使用:
1).定义/创建索引
2).条件查询的时候,where条件使用创建索引的字段
2. 使用场景
要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点:
- 数据量较大,且经常对这些列进行条件查询。
- 该数据库表的插入操作,及对这些列的修改操作频率较低。(插入数据的时候索引也要跟着变,索引的数据结构b+树要跟着变)
- 索引会占用额外的磁盘空间。
满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。
反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引。
3. 注意事项
1.MySQL默认引擎使用innodb,索引和数据都保存在本地公司的同一个文件,会占用磁盘空间
2.索引是为了提高检索的效率,但是修改索引字段,插入/删除数据,效率低下。
4. 索引的语法
二.事务
1.为什么使用事务
2.事务的概念
- 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。
- 在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务
3.事务的使用/语法
4.(重要)注意事项
1.事务是保证多条sql要么同时执行,要么同时失败(原子性)
2.事务的ACID四大特(原子(Atomicity),一致(Consistency),隔离(Isolation),持久(Durability))性。隔离级别及每一种隔壁级别所产生的问题(扩展)
3.事务的使用:
- 只有事务执行完成后,即到rollback或者commit的时候,才会对本地数据进行保存,其他客户端访问数据库才会发生变化,不然只有本地客户端上会有变化。
- 数据持久化到本地文件中,成为持久化。
- 同时开启两个cmd,原来可以充当两个客户端!!