事务,视图,索引,备份和恢复

什么是索引:

  数据库中的索引与书籍中的目录类似,在一本书中,利用目录可以快速查找所需要的信息,无需阅读整本书.

在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据.书中的目录是一个词语列表,

其中注明了包含各个词的页码,在数据库中,由于数据存储在数据表中,因此索引是创建在数据表对象上的,

由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过MySql可以快速有效地

查找与键值相关联的字段,跟怒索引的存储类型,可以将索引分为B-树索引和哈希索引.

为什么需要事务
事务(transaction)是指将一系列数据操作捆绑成为一个整体进行统一管理,如果某一事务执行成功,

则在该事务中进行的所有数据均会提交,成为数据库中永久的组成部分。

如果事务执行遇到错误且必须取消或回滚,则数据将全部恢复到操作前的状态,所有数据的更改均被清除。

 索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能

索引分类:

 

MySql中,索引分为六类:

    1.普通索引

    普通索引时MySql中的基本索引类型,允许在定义索引的列中插入重复和空值,它的唯一任务是加快对数据的访问速度.

    2.唯一索引

    唯一索引不允许两行出现相同的索引值

    3.主键索引

    在数据库关系图中为定义一个主键将自动创建主键索引,主键索引是唯一的特殊类型

    4.复合索引

         在创建索引时,并不是只能对其中一列创建索引,与创建主键一样,可以将多个列组合作为索引,这种索引称为复合索引.

    5.全文索引

    全文索引的作用是在定义索引的列上支持值得全文查找,允许在这些索引列中插入重复值和空值.

    6.空间索引

            空间索引是对空间数据类型的列建立的索引.

 

4.如何执行事务
MySQL提供了多种存储引擎支持事务,支持事务的存储引擎有InnoDB和BDB。InnoDB存储引擎事务主要时通过UNDO日志和REDO日志,MyISAM存储引擎不支持事务。
任何一种数据库,都有各种各样的日志,用来记录数据库的运行情况,日常操作,错误信息等。
A) UNDO日志:复制事务执行前的数据,用于事务在发生异常时回滚数据。
B) REDO日志:记录事务在执行中,每条对数据库进行更新的操作,当事务被提交时,该内容将被刷新到磁盘。

 

索引的创建例子:

 

  1.IQUE 或 UNIQUE KEY (唯一索引)

   mysql> alter table table_name add unique (`column`)

  2ULLTEXT (全文索引)    

 mysql> alter table table_name add fulltext (`column` )    

  3INDEX (普通索引)       

   ysql> alter table table_name add index index_name ( `column` )

  修改表中的索引:

      alter table tablename drop primary key,add primary key(fileda,filedb)

  查看索引:

 show index from table_name;

 数据库的备份和还原

 使用musqldump命令备份数据库

    语法:

       mysqldump   -u   username   -h   host   -p *******

       dbname  [tbname1[tbname2......]]  >  filename.sql

  *username  表示用户名

  *host  表示登陆用户的主机名称,如本机为主机可省略

  *password  表示登陆密码

  *dbname  为需要备份的数据库

  *tbname  为需要备份的数据表,可指定多张表,为可选项,如备份整个数据库则此项省略

  *filename.sql  表示备份文件的名称.

 

    使用musqldump命令备份数据库:

      语法:

       mysql -u sername -p **** [dbname] <filename.sql

  *username  表示用户名

  *dbname  表示数据库名

  *filename.sql  为数据库备份后的文件

posted on 2018-02-24 16:03  雅俗共赏_house  阅读(129)  评论(0编辑  收藏  举报

导航