什么是索引
举例:想象一下我想要在学校的图书馆中找“人间失格”这本书,正常情况下:馆内的书本都分门别类放置的,我先知道“人间失格”这本书的类别属于文学类,那这时我只需要看文学类所在的几个书架,然后在这几个书架里寻找即可。另类情况:每一本书在入馆时登记好它的唯一ID 就像你的个人身份证一样,那么当我要找这本书的时候就能根据ID去直接定位到这本书在哪个书架第几排的多少号。索引其实就是这样的一个原理。
所以 索引的本质其实是一种数据结构,它会在数据库中占用一定的空间的同时提高我们接下来的查询效率,专业的说法就是以空间换时间。索引它是用于提高数据库查询性能的一种手段,加快数据查询和排序。又是面试官可能会问“既然索引可以提高查询性能,那能不能给所有字段都加上索引?” 根据上面说的我们就知道肯定是不行的,因为它会占用数据库的空间,而且创建索引的过程其实也是需要时间的,总不可能无损。
大约 5 分钟