Print

适合索引值基数高重复率低的应用

问:在oracle中,在列的取值重复率比较高的列上,适合创建什么索引
  1. 答:靠看是怎么应用这列数据。
    索引并不是一定要建立,如果是一般查询用,那么可以考虑联合索引,增加辨识度。
    如果是分组查询用,那么可以考虑位图索引。
  2. 答:可以尝试使用bitmap索引
问:数据库索引有哪几种,怎样建立索引
  1. 答:数据库表中的时间字段是否可以建立索引?可以建立索引的;至于建立聚集索引或者是非聚集索引,那要看你这个时间字段的具体情况以及使用或变更频繁程度。 一般来说,适合建立聚集索引的要求:“既不能绝大多数都相同,又不能只有极少数相同”的规则。 先说说一个误区:有人认为:只要建立索引就能显著提高查询速度。这个想法是很错误的。建立非聚集索引,确实,一般情况下可以提高速度,但是一般并不会达到你想要的速度。只有在适当的列建立适当的(聚集)索引,才能达到满意的效果。 下面的表总结了何时使用聚集索引或非聚集索引(很重要)。 动作描述 使用聚集索引 使用非聚集索引 列经常被分组排序 应 应 返回某范围内的数据 应 不应 一个或极少不同值 不应 不应 小数目的不同值 应 不应 大数目的不同值 不应 应 频繁更新的列 不应 应 外键列 应 应 主键列 应 应 频繁修改索引列 不应 应 别的就要看你的理解了。
问:PHP mysql 实现hash分区的问题
  1. 答:分区管理
    常规HASH和线性HASH的增加收缩分区的原理是一样的。增加和收缩分区后原来的数据会根据现有的分区数量重新分布。HASH分区不能删除分区,所以不能使用DROP PARTITION操作进行分区删除操作;
    只能通过ALTER TABLE ... COALESCE PARTITION num来合并分区,这里的num是减去的分区数量;
    可以通过ALTER TABLE ... ADD PARTITION PARTITIONS num来增加分区,这里是null是在原先基础上再增加的分区数量。
问:数据重复率高于多少不适合建索引
  1. 答:恩,基本上说,是这样的.
    毕竟索引上面,仅仅存储索引列的数据, 与 行的物理地址信息.
    如果有很多重复值的列,建在索引上面.
    那么当检索到这类数据的时候.
    要获取很多的索引数据, 和很多的 行地址, 然后再 根据行地址,去检索行的信息.

本文来源: https://www.lunwen90.cn/article/20b5466fb5f3222586f1c109.html