BlackLeft老师讲课了——数据库的索引

2019年4月11日

一.开场白

Hello大家好,没错,我来了。有的时候我们创建一个数据库的时候需要设计,我们如何设计呢?呸,讲错了,我们跳过去,这个东西我们不讲。我们今天来讲讲具体的数据库内的一个小细节,数据库的索引,如果班上面的学生已经很了解了,那么你就可以静静的玩儿玩儿你的手机或者干点别的事情了。我们呢,就以MySQL的索引为基本介绍

二.如何理解数据库的索引以及一些其他的

菜鸟教程上说,“MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。”。我们来解读一下这句话,什么是索引?索引呢,就是一个最最基本的名词了,你要是问我索引是什么,我给你说一下,你可以用你的手机去搜一下索引的定义,它是一种存储结构。所以我认为你可以不要去纠结这么多,继续讲一下索引的建立呢对MySQL的高效运行时很重要的,索引呢,可以提高MySQL的检索速度,菜鸟教程还打了个比方,用了索引的MYSQL是一辆兰博基尼,那么没有设计和使用索引的MYSQL是一个人力三轮车。(咳咳,个人感觉这个比方有一些夸张)
我们接着来讲,索引呢,分成单列索引还有组合索引,什么是单列索引呢?就是一个索引只包含单个列,而一个表呢可以又多个单列的索引。组合索引是什么呢?就是一个索引包含了多个列。索引呢可以增快查询的速度,但是索引的滥用会降低更新表的速度,对表进行insert、update、delete时,不仅要保存一下数据,还有保存一下索引文件,所以呢,就会慢一些些了。
我们如何创建索引呢?用:

CREATE INDEX indexName ON mytable(username(length))
大写的就是固定的,小写的就是可以根据自己的表来决定的,indexName就是你想创建的这个索引的名称,mytable就是你表的名字,括号里面的username就是你表中的列,lenght是长度,长度的大小有着些许的不同,可以下去自己看一看。也可以表本来没有索引然后修改表的结构,也就是给没有索引的表添加个索引,语法一般是:

ALTER TABLE tableName ADD INDEX indexName(columnName1,columnName2,...),可以有多个列表的名字,columnName1还有2就是列表中的列的名字,大写的是固定的,tableName是表的名字,indexName就是你自己要设定的索引名字。
还有就是,当我们创建表的时候也可以直接指定索引比如:
create table book(
    username varchar(16) not null,
    bm_URL varchar(255) not null,
    index(username),
    index(bm_URL),
    primary key(username,bm_URL)
);
这样写是可以的。当然了,我们想要删除索引的时候也是可以的,只需要运用语法这样:
DROP INDEX [indexName] ON tableName就可以了。

本内容纯原创,转载请标明出处————————————作者:BLackLeft    日期:2019年4月11日11点51分

猜你喜欢

转载自blog.csdn.net/CPC_BlackLeft/article/details/89206887