MySQL:从什么是索引,到运用索引(程序员进阶)
什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。 可以通俗的反过来理解索引: 你要看某一本书里的某一章节里的内容,如果没有目录的话,你是不是要从头开始看着找呢,如果恰巧你想要看的章节内容又是在最后的那几页,你是不是要把书看着翻到最后呢,这效率甭想也知道很低,如果有了目录那就好办多了,你要看书里的某一内容,不用从头翻一遍,你按着目录里的章节去找对应内容就好了。 技术光谈理论不实践都是耍流氓,那么我们来看看具体有哪些索引和对索引的操作 单值索引—— 即一个索引只包含单个列,一个表可以有uoge单列索引。 唯一索引—— 索引列的值必须唯一,但允许有空值。 复合索引—— 一个索引包含多个列。 全文索引—— 只有在MyISAM引擎上才能使用,只能在CHAR,VARCHAR,TEXT类型字段上使用全文索引 在做索引之前我们先创建足够多数据,这样才能更好的看到索引效果,那么可以用上我们的存储过程创建300万条数据来玩(记住是300百万条不是3000万条,注意不要多个0,不然真的有得等,上一篇文章翻过车,说多都是泪,我放下面了,这里就不赘述) 教你使用MySQL仅调用一个存储过程创建三千万条数据 你看创建300百万条数据也要9分钟多,何况3000万条… 没有建立索引之前