码迷,mamicode.com
首页 > 数据库 > 详细

Mysql的索引

时间:2018-03-10 16:04:26      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:数据结构   相同   基本   相关   rom   建立   分类   str   复合   

什么是索引:

  数据库中的索引与书籍中的目录类似,在一本书中,利用目录可以快速查找所需要的信息,无需阅读整本书.在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据.书中的目录是一个词语列表,其中注明了包含各个词的页码,在数据库中,由于数据存储在数据表中,因此索引是创建在数据表对象上的,由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(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  为数据库备份后的文件

 

Mysql的索引

标签:数据结构   相同   基本   相关   rom   建立   分类   str   复合   

原文地址:https://www.cnblogs.com/wsnb8/p/8538952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!