MySql的索引,备份和恢复

Posted on 2018-02-24 14:55  仙人板板  阅读(271)  评论(0编辑  收藏  举报

什么是索引:

  数据库中的索引与书籍中的目录类似,在一本书中,利用目录可以快速查找所需要的信息,无需阅读整本书.在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据.书中的目录是一个词语列表,其中注明了包含各个词的页码,在数据库中,由于数据存储在数据表中,因此索引是创建在数据表对象上的,由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过MySql可以快速有效地查找与键值相关联的字段,跟怒索引的存储类型,可以将索引分为B-树索引和哈希索引.

 

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

 

索引分类:

 

MySql中,索引分为六类:

    1.普通索引

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

    2.唯一索引

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

    3.主键索引

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

    4.复合索引

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

    5.全文索引

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

    6.空间索引

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

 

索引的创建例子:

 

    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  为数据库备份后的文件