由于没有学过数据库这门课,所以使用的时候很多概念都不知道,前段时间学长让我学习一下索引相关的知识,因为面试的时候会经常问道,而且当时项目也确实用到了这个问题,在此简单记录一下,以后再慢慢学习慢慢整理。
我理解的数据库索引就是用空间换取时间,如果没有索引,查找数据库中某个字段的时候就会进行顺序查找直到找到符合条件的数据,如果数据量非常庞大的话,这个开销肯定是非常恐怖的,所以在某个经常进行查找排序等操作的字段上建立索引,一般都是B树或者哈希索引,这样会额外建立一个数据结构以使得改字段呈某种规律被持有,在查找的时候就能快速被找到,但是这个额外的数据结构肯定也需要维护。以上完全是个人理解,不一定保证正确。
一、基本操作
1、查看索引
mysql> show index from tblname;
其中的tbname为表的名称,比如我的数据库中news_table是一个用于存储新闻的表,其中的新闻地址会经常被查找,所以在该字段建立了索引,使用上述命令就可以看见在news_table中有几个索引,还可以看出索引的类型,下面显示的是BTREE。
关于各个参数的意义有详细的介绍:(参考地址:点击打开链接)
· Table
表的名称。
· Non_u