当前位置: 首页 > article >正文

表索引(索引的设计原则)详解

文章目录

  • 前言
  • 一、选择唯一性索引
  • 二、为经常需要排序、分组和联合操作的字段建议索引
  • 三、为经常作为查询条件的字段建立索引
  • 四、限制索引的数目
  • 五、尽量使用数据量少的索引
  • 六、尽量使用前缀来索引
  • 七、删除不再使用或者很少使用的索引

前言

        为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。本节将介绍一些索引的设计原则。


一、选择唯一性索引

        唯一性索引的值是唯一的,可以更快速地通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段,为该字段建立唯一性索引可以很快确定某个学生的信息,如果使用姓名的话,可能存在同名现象,从而降低查询速度。

二、为经常需要排序、分组和联合操作的字段建议索引

        经常需要使用ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间,如果为其建立索引,可以有效地避免排序操作。

三、为经常作为查询条件的字段建立索引

        如果某个字段经常用来做查询条件,那么该字段的查询速度会影响整个表的查询速度,为这样的字段建立索引可以提高整个表的查询速度。

四、限制索引的数目

        索引的数目不是越多越好。每个索引都需要占用磁盘空间,索引越多,需要的磁盘空间就越大,修改表时,对索引的重构和更新很麻烦。

五、尽量使用数据量少的索引

        如果索引的值很长,那么查询的速度会受到影响。例如,对一个CHAR(100)类型的字段进行全文检索需要的时间肯定要比对CHAR(10)类型的字段需要的时间多。

六、尽量使用前缀来索引

        如果索引的值很长,最好使用值的前缀来索引。例如,TEXT和BLOG类型的字段,进行全文检索会很浪费时间,如果只检索字段前面的若干字符,这样可以提高检索速度。

七、删除不再使用或者很少使用的索引

        表中的数据被大量更新,或者数据的使用方式被改变后,原有的一些索引可能不再需要。数据库管理员应当定期找出这些索引,将它们删除,从而减少索引对更新操作的影响。


http://www.kler.cn/news/16885.html

相关文章:

  • AI奇点将至 如何成为人工智能驱动型公司
  • 图像超分辨率简单介绍
  • DataEase 数据源插件分享 - 时序数据库 InfluxDB
  • 『python爬虫』05. requests模块入门(保姆级图文)
  • 2023爱分析·低代码开发平台市场厂商评估报告:数聚股份
  • 259页11万字智慧水利建设项目解决方案
  • vue项目为例解决element ui 时间选择器 picker使用样式穿透不起作用问题
  • 简明 JDBC 数据访问操作库:JdbcHelper(一)
  • Redis的哨兵和集群模式
  • Figma快速转换为Sketch文件格式的方法
  • 【软考高级】2017年系统分析师论文真题
  • ChatGPT根据销售数据、客户反馈、财务报告,自动生成报告,并根据不同利益方的需要和偏好进行调整?
  • Spring 5 笔记 - 入门与IOC
  • 【华为OD机试 2023最新 】最大报酬(C语言题解 100%)
  • 大数据技术之Hadoop-入门
  • shell脚本的循环
  • 『python爬虫』异常错误:request状态码是200,但是使用full xpath路径解析返回得到是空列表(保姆级图文)
  • Vue.js核心概念简介:组件、数据绑定、指令和事件处理
  • 1985-2021年全国31省一二三产业就业人数/各省分产业就业人数数据(无缺失)
  • 【C++】-关于类和对象的默认成员函数(中)-构造函数和析构函数
  • 操作系统——操作系统用户界面
  • C++入门(下)
  • 给你们讲个笑话——低代码会取代程序员
  • 360SEO 360搜索引擎算法的基础知识
  • Shell脚本3
  • 代码优美,搬砖不累:探索高质量代码之路
  • [架构之路-188]-《软考-系统分析师》-3-操作系统 - 图解页面替换算法LRU、LFU
  • 操作系统——第三章
  • 【FATE联邦学习】FATE是否支持batch分批训练?
  • 现代CMake高级教程 - 第 1 章:添加源文件