我是靠谱客的博主 眯眯眼钢笔,最近开发中收集的这篇文章主要介绍数据库联合索引,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、联合索引的特点

        索引有序+高度较低+存储列值

二、联合索引的好处

        避免回表。两个单列查询返回行较多,同时查返回行较少,联合索引更高效。

三、什么时候该用联合索引以及如何设计组合索引更高效

        (1)等值查询中,查询条件a返回的条目比较多,查询条件b返回的条目比较多,而同时查询a、b返回的条目比较少,那么适合建立联合索引;

        (2)对于有等值查询的列和范围查询的列,等值查询的列建在前、范围查询的列建在后比较实用;

        (3)如果联合索引列的前置列与索引单列一致,那么单列查询可以用到索引,这样就避免了再建单列索引,因此联合索引的前置列应尽量与单列一致;

四、使用索引需要注意的地方

        (1)超过3个列的联合索引不合适,否则虽然减少了回表动作,但索引块过多,查询时就要遍历更多的索引块了;

        (2)建索引动作应谨慎,因为建索引的过程会产生锁,不是行级锁,而是锁住整个表,任何该表的DML操作都将被阻止,在生产环境中的繁忙时段建索引是一件非常危险的事情;

        (3)对于某段时间内,海量数据表有频繁的更新,这时可以先删除索引,插入数据,再重新建立索引来达到高效的目的。

五、另外有些情况不适合建索引

        (1)很少参与查询的列。

        (2)对于增、删、改操作远大于查询的列。

        (3)对于很少数据值的列,例如性别。

        (4)对于那些结果集占了表数据总量很大比例的查询。

        (5)对于备注、文本框等长度很大的列。

最后

以上就是眯眯眼钢笔为你收集整理的数据库联合索引的全部内容,希望文章能够帮你解决数据库联合索引所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部