要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点:
满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引
show index from 表名;
--对于非主键、非唯一约束、非外键的字段,可以创建普通索引 create index 索引名 on 表名(字段名);
drop index 索引名 on 表名;
(1)对于插入、删除数据频率高的表,不适用索引
(2)对于某列修改频率高的,该列不适用索引
(3)通过某列或某几列的条件查询频率高的,可以对这些列创建索引
(1)开启事务:start transaction;
(2)执行多条SQL语句
(3)回滚或提交:rollback/commit;
说明:rollback即是全部失败,commit即是全部成功
特性(acid):原子性,一致性,持久性,隔离性
原子性:主要是对应一组数据的处理(主要也是更新),要么全部成功,要么全部失败
持久性:事务提交后,数据是存在硬盘中的,并且是持久化
一致性:在一个事务里,多次查询到的数据是一样的
隔离性:多个事务中的查询/修改是相互隔离开的,并且在一个事务没有提交或回滚前,修改 的数据,只有自己能看到