分区索引的用法,数据库优化里真的挺关键的。Shigley’s Mechanical Engineering Design这本书里,虽然主打机械设计,但它在讲数据结构和索引那块,内容也蛮有意思的,是提到了B-Tree和倒排 B-Tree的场景用法,挺适合前端开发者拓展一下后端知识。
物理分类下的非分区索引和分区索引,其实挺容易搞混的。简单说,非分区就是一整个表直接建索引,适合小数据量。分区索引就更智能,配合分区表能提高查询效率,尤其适合大数据表,响应也快,维护也灵活。
比如你在做一个日志系统,数据量大,每天都有新数据进来,那就可以考虑用分区表加分区索引,按时间或用户分区都行。配合B-Tree 索引,查询某天的数据就会快多。而且你还可以用倒排索引来搜索场景,比如做个全文搜索,关键词检索贼快。
推荐几个相关的资源,都是比较实用的例子,比如MapReduce 倒排索引实现,还有B-Tree、B+Tree、B*Tree 数据结构特征,内容都挺接地气,不会太学术,看起来不费劲。
哦对了,如果你在用Oracle,那一定要看看Oracle 索引分区类型详解和Oracle 分区表应用指南,对照数据库操作有。
所以啊,如果你正好在做大数据表结构优化、搜索引擎设计,或者只是想多懂点后端知识点,建议你看看这些资料,了解下B-Tree和分区索引的配合方式,真的不亏。