加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

口试官出的MySQL索引题目,这篇文章全给你办理!

发布时间:2019-10-12 09:06:58 所属栏目:编程 来源:欧阳思海
导读:0 媒介 这篇文章不会讲授索引的基本常识,首要是关于MySQL数据库的B+树索引的相干道理,内里的一些常识都参考了MySQL技能黑幕这本书,也算对付这些常识的总结。对付B树和B+树相干的常识,可以参考我的这篇博客:口试官问你B树和B+树,就把这篇文章丢给他 1
副问题[/!--empirenews.page--]

 口试官出的MySQL索引题目,这篇文章全给你办理!

0 媒介

这篇文章不会讲授索引的基本常识,首要是关于MySQL数据库的B+树索引的相干道理,内里的一些常识都参考了MySQL技能黑幕这本书,也算对付这些常识的总结。对付B树和B+树相干的常识,可以参考我的这篇博客:口试官问你B树和B+树,就把这篇文章丢给他

1 索引的打点

索引有许多中范例:平凡索引、独一索引、主键索引、组合索引、全文索引,下面我们看看怎样建设和删除下面这些范例的索引。

1.1 索引的建设方法

索引的建设是可以在许多种环境下举办的。

  •  直接建设索引
  1. CREATE [UNIQUE|FULLLTEXT] INDEX index_name ON table_name(column_name(length)) 

[UNIQUE|FULLLTEXT]:暗示可选择的索引范例,独一索引照旧全文索引,不加话就是平凡索引。

table_name:表的名称,暗示为哪个表添加索引。

column_name(length):column_name是表的列名,length暗示为这一列的前length行记录添加索引。

  •  修改表布局的方法添加索引 
  1. ALTER TABLE table_name ADD [UNIQUE|FULLLTEXT] INDEX index_name (column(length)) 
  •  建设表的时辰同时建设索引 
  1. CREATE TABLE `table` (  
  2.     `id` int(11) NOT NULL AUTO_INCREMENT ,  
  3.     `title` char(255) CHARACTER NOT NULL ,  
  4.     PRIMARY KEY (`id`),  
  5.     [UNIQUE|FULLLTEXT] INDEX index_name (title(length))  

1.2 主键索引和组合索引建设的方法

前面讲的都是平凡索引、独一索引和全文索引建设的方法,可是,主键索引和组合索引建设的方法却是有点纷歧样的,以是单独拿出来讲一下。

组合索引建设方法

  •  建设表的时辰同时建设索引 
  1. CREATE TABLE `table` (  
  2.     `id` int(11) NOT NULL AUTO_INCREMENT ,  
  3.     `title` char(255) CHARACTER NOT NULL ,  
  4.     PRIMARY KEY (`id`),  
  5.     INDEX index_name(id,title)  
  •  修改表布局的方法添加索引 
  1. ALTER TABLE table_name ADD INDEX name_city_age (name,city,age); 

主键索引建设方法

主键索引是一种非凡的独一索引,一个表只能有一个主键,不应承有空值。一样平常是在建表的时辰同时建设主键索引。

  1. CREATE TABLE `table` (  
  2.     `id` int(11) NOT NULL AUTO_INCREMENT ,  
  3.     `title` char(255) CHARACTER NOT NULL ,  
  4.     PRIMARY KEY (`id`)  

1.3 删除索引

删除索引可操作ALTER TABLE或DROP INDEX语句来删除索引。相同于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理赏罚,语法如下。

(1)DROP INDEX index_name ON talbe_name

(2)ALTER TABLE table_name DROP INDEX index_name

(3)ALTER TABLE table_name DROP PRIMARY KEY

第3条语句只在删除PRIMARY KEY索引时行使,由于一个表只也许有一个PRIMARY KEY索引,因此不必要指定索引名。

1.4 索引实例

上面讲了一下根基的常识,接下来,照旧通过一个详细的例子来领会一下。

  •  step1:建设表 
  1.  create table table_index(  
  2.     id int(11) not null auto_increment,  
  3.     title char(255) not null,  
  4.     primary key(id)  
  5. ); 
  •  step2:添加索引

起首,我们行使直接添加索引的方法添加一个平凡索引。

  1. CREATE INDEX idx_a ON table_index(title); 

接着,我们用修改表布局的时辰添加索引。

  1. ALTER TABLE table_index ADD UNIQUE INDEX idx_b (title(100)); 

最后,我们再添加一个组合索引。

  1. ALTER TABLE table_index ADD INDEX idx_id_title (id,title); 

这样,我们就把前面索引的方法都用上一遍了,我信托你也认识这些操纵了。

  •  step3:行使SHOW INDEX呼吁查察索引信息

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读