数据索引的设计,都和什么有关?

先找出执行频率最高的sql,然后找出量比较大的表,然后把就是结合查询计划去实现这些语句的索引覆盖,还是sqlserver强大,查询计划是图形化的,mysql得explan有些弱呀。

1.作为where、join字段在生产环境下的使用频率,注意索引在哪些情况下不被使用 2.大数据表要做到CURD性能综合平衡:充分考虑索引对CUD的影响 3.OLTP和OLAP:用时间和空间来减少即需查询 4.需要使用唯一索引来保证数据的业务约束。5.原则索引应尽量使用数值字段 6.聚集索引和非聚集索引:最频字段或主键。7. 索引无法解决的问题要通过OLAP、(分布式)缓存等解决。索引对硬盘的伤害,即索引会增加写硬盘,写对硬盘的伤害比读大。

1:和数据操作方式有关,简单说就是SQL怎么写,查询条件和更新条件;2:和数据操作频次有关,读频率高和写频率高,处理思路会有不同;3:和数据容量有关;4:和数据分布特征有关;特别是复合索引设计,需呀理解数值分布的均匀度和散列特征;

 索引本身带来的代价(变更频度,索引维护单次开销,索引空间,并发开销), 索引带来的好处(查询的开销变化, 查询的频度), 这两者的交叉点, 就是选择使用/不使用新的索引的交叉点

原文地址:https://www.cnblogs.com/visionwang/p/3097602.html