一、视图:
视图,其实就是一张虚拟的数据表,该数据表与其他普通数据表一样,有列和属性。视图和普通的数据表唯一不同的是,视图中本身没有数据,视图中的数据都是从各个数据表中select查询的结果,对视图中数据的插入和修改本质上也是对原始数据表的插入和修改,视图可以使用户的操作更方便,而且可以保障数据库系统的安全性。
二、索引:
1、概念:实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录;
通俗来说,索引就类似于书本的目录,作用就是为了方便查询数据,并提高查询效率;
2、索引的优点和缺点:
优点:
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
缺点:
1.索引需要占物理空间。
2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
3、索引的分类:
MySQL目前主要有以下几种索引类型:
1.普通索引
是最基本的索引,它没有任何限制。
2.唯一索引
与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。
3.主键索引
是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引:
4.组合索引
一个索引包含多个列,
指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。
5.全文索引
主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。fulltext索引配合match against操作使用,而不是一般的where语句加like。它可以在create table,alter table ,create index使用,不过目前只有char、varchar,text 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE index创建fulltext索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多。
三、事务:
1、概念:
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。