索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。数据库索引好比是一本书前面的目录,能加快数据库的检索速度。
索引的实现通常是B树及其变种B+树。
建立索引的好处:
加快对表中记录的查找或排序
可以大大提高系统的性能。
索引的缺点:
创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度
触发器:
触发器是一种特殊类型的存储过程主要是通过事件进行触发被自动调用执行的。触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。
分类:
DML( 数据操纵语言 Data Manipulation Language)触发器:是指触发器在数据库中发生DML事件时将启用。DML事件即指在表或视图中修改数据的insert、update、delete语句。
DDL(数据定义语言 Data Definition Language)触发器:是指当服务器或数据库中发生(DDL事件时将启用。DDL事件即指在表或索引中的create、alter、drop语句也。
登陆触发器:是指当用户登录SQL SERVER实例建立会话时触发(不支持SQL Server 2000 )。
事物:
事物是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
事务特征:
原子性(Atomic):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。
一致性(Consistency):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。
隔离性(Isolation):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立。
持久性(Durability):事务结束后,事务处理的结果必须能够得到固化。
MySql有一个重要的特征,被称为Pluggable Storage Engine Architecture(可替换存储引擎构架)。有两个重要的存储引擎:MyISAM 和 InnoDB 。其中MyISAM不支持事务处理,但是速度较快,InnoDB支持行锁定及事务处理,比MyISAM速度稍慢。有一个最新的存储引擎Falcon也支持事务处理