1、 视图(查select)
(1) 创建:create view 视图名称 as select语句;
(2) 含义:视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据;
(3) 建议给视图命名以v打头,同数据表的操作;
(4) 作用:提高了重用性,就像一个函数;对数据库重构,却不影响程序的运行;提高了安全性能,可以对不同的用户让数据更加清晰。
2、 事务(增insert、删delete、改update)
(1) 概念:它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位;
(2) 事务四大特性(简称ACID):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability);
(3) 开启事务:start transaction和begin;
(4) 提交事务:commit;
(5) 回滚事务(放弃变更数据):rollback。
(6) 原子性:整个事务中的所有操作要么全部提交成功,要么全部失败回滚;
(7) 一致性:数据库总是从一个一致性的状态转换到另一个一致性的状态;
(8) 隔离性:一个事务所做的修改在最终提交以前,对其他事务是不可见的;
(9) 持久性:一旦事务提交,则其所做的修改会永久保存到数据库。
3、 索引
(1) 概念:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
(2) 创建索引:create index 索引名称 on 表名(字段名称(长度))
(3) 查看索引:show index from 表名;
(4) 删除索引:drop index 索引名称 on 表名;
(5) 开启运行时间监测:set profiling=1;
(6) 查看执行时间:show profiles;
(7) 建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引,建立索引会占用磁盘空间。