1、四个特性及含义
四个基本要素(acid):原子性、一致性、隔离性、持久性
原子性(Actomicity):整个事务中的操作要么全完成,要么全部不完成,不能滞留在中间某个环节,事务在执行过程发生错误,会被回滚(Rollback)到事务开始前的状态,就像没执行过一样
一致性(Consistent):在事务开始和结束之后,数据库的完整性约束没有被破坏
隔离性(Isolation):使事务在给定的时间内执行的唯一操作,为了防止事务之间的混淆,必须串行化或序列化请求,使得在同一时间内仅有一个请求用于同一数据
持久性(Durable):在事务完成以后,该事务所对数据库所做的更改持久保存到数据库之中,并不会被回滚
2、drop、delete、truncate的区别
drop直接删掉表、truncate删除表中的数据,再插入数据自增长id又从1开始、delete删除表中的数据,可以加where语句
(1)delete语句删除表中的某一行。并同时将改行的删除操作作为事务记录在日志中,以便后续进行回滚;truncate则是一次性删除表中所有的数据并不会单独把操作记录日志保存,是不能恢复的
(2)表和索引所占的空间:truncate之后空间会恢复初始大小,delete操作不会减少表索引所占的空间,drop将释放所有的占用空间
(3)一般而言 drop>truncate>delete
(4)truncate和delete只删除数据,drop直接删除整个表
(5)在没有备份的情况下,慎用drop和truncate
(6)truncate速度快、效率高
3、索引
索引是数据库管理系统中一个排序的数据结构,已助快速查询、更新数据库表中数据,创建语句alter table tablename add index(id);
优点:
(1)创建唯一索引,可以保证每一行数据的唯一性
(2)大大加快检索速度
(3)加速表之间的连接
(4)使用分组和排序字句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点:
(1)建立索引需要占用物理空间
(2)对表的数据进行增删改查时,索引也要动态维护,降低了数据的维护速度
(3)创建和维护索引耗费时间,时间随着数据量的增加而增加
不需要创建索引
(1)查询中很少使用或者是参考的列
(2)数据量很少的列
(3)对于那些定义text