Spark大数据分析:索引构建原则
索引的优缺点
优点:
- 提升检索效率: 显著加速数据检索速度。
- 确保数据唯一性: 通过创建唯一性索引,确保数据库表中每行数据的唯一性。
- 优化表连接: 加速表与表之间的连接操作。
- 加速排序和分组: 在使用分组和排序子句进行数据检索时,显著减少查询中分组和排序的时间。
缺点:
- 占用存储空间: 索引需要占用额外的物理存储空间。
- 影响数据维护速度: 当对表中的数据进行添加、删除和修改时,索引需要动态维护,从而降低了数据的维护速度。
索引构建原则
创建索引通常有两个主要目的:
- 维护被索引列的唯一性。
- 提供快速访问表中数据的策略。
以下是一些创建索引的原则:
- 频繁查询的表: 在 SELECT 操作占比较高的表上创建索引。
- 常用查询条件: 在 WHERE 子句中出现最频繁的列上创建索引。
- 高选择性列: 在选择性高的列上创建索引(补充:选择性越高越好,最高为 1,例如主键)。
- 复合索引顺序: 复合索引的主列应该是选择性最高且在 WHERE 限定条件中最常用的列,并以此类推。