数据库主要是帮我可以加快对数据库数据的查询,按照功能主要分为:唯一索引,主键索引,聚焦索引等。通过在数据库表中的列上添加索引。
通过索引:
1.我们可以不需要对数据进行排序操作。
2.对于非聚焦索引,我们有时可以不用访问数据页。
3.通过索引我们可以不必扫描全表。可以只通过扫描索引和数据页就可以得到结果。
4.对于聚焦索引,我们可以不必每次都在表的最后一行进行数据插入。
索引就像是一本书的目录一样,通过目录,我们可以很快的找到读取到想要的内容。非常方便,提高了效率,但是另一方面:目录(索引)也要占去一部分空间,造成资源浪费。而且当我们在进行数据更新和删除等操作时,目录也要更新(相应的索引也要更新),影响性能。
所以我们在实际项目开发中,需要考虑哪些列需要加索引,哪些不需要加尤其对于一些大型的数据库和多的数据的时候,跟要慎重。
总结:索引也需要一定的空间和处理,有些不必要的索引反而会降低查询性能。所以索引一般用在以下两种场景:
1.是一个范围内的检索,且检索的返回的数据要小于表中的数据的30%
2.检索要是非唯一性检索。