热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql添加索引,简述索引的作用

一、索引的类型索引类型有多种,哈希、BTREE、全文索引等,其实不管什么类型,都是为了在特定业务场景下方便快速查找数据的算法。显然书本开头的目录是要占用几页纸的,建立索引也是要消


转自: http://blog.csdn.net/pengsidong/article/details/62104703,有添加


索引就像书的目录,就像新华字典的拼音、部首检查,帮助人们快速找到需要的内容。


当数据表中的记录达到几十w级别时,索引的作用非常明显。


一.索引类型


索引类型有很多种,包括散列、BTREE和全文索引,但实际上这是一种便于在特定业务场景中快速搜索数据的算法。


例如散列索引、key-value格式,最简单,书的目录也相似。


有一本书,我们就知道文章的标题是找到这篇文章读。 如果没有目录,翻遍整本书寻找标题。


但是,如果单独提取标题并设为key,则将页码设为value,就可以迅速找到内容。


很明显,书的开头目录要消耗几页纸,编制索引也要消耗资源。


BTREE索引是另一种算法,使用对应于每个业务场景的索引更有效率。


正如新华字典的目录与普通书的目录不同,新华字典可以通过拼音或部首的检索方法快速查找字在第几页,这也是一种“索引”


也有全文索引等,但这里不说明。 例如,考虑一下solr、elasticsearch使用的算法


二、如何编制索引


其实这应该没有明确的定义,只能根据具体的业务来考虑。


1、索引并不是越多越好。 索引消耗资源。 有些字段信息如果不经常查询和索引,反而会影响效率。


如果把某本书书中的人名、地名等全部列入目录,目录可能占整本书的1/3,而且读者经常使用文章标题目录反而不好


2、相对来说,表格中经常查询使用的字段需要索引;


3、请勿对经常更改的数据进行索引。 对经常更改的字段进行索引反而会降低性能。


4、小数据量表建议不加索引;


5、索引一般应添加到搜索条件字段中; 例如,必须将其添加到where、order by子句中的常用字段中


推荐阅读
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 微信小程序开发指南:创建动态电影选座界面
    本文详细介绍如何在微信小程序中实现一个动态且可视化的电影选座组件,提高用户体验。通过合理的布局和交互设计,使用户能够轻松选择心仪的座位。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 支付宝新功能:直接入口提升用户体验
    本文探讨支付宝最新推出的直接入口功能,旨在提升用户使用小程序的便捷性,并分析这一变化对支付宝及小程序开发者的影响。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 使用 Vue3 Script Setup 语法糖构建双人联机俄罗斯方块
    作为一名前端开发者,Vue3 是一个不可或缺的工具。本文通过一个实战项目——双人联机俄罗斯方块,详细介绍如何利用 Vue3 的 Script Setup 语法糖进行开发,帮助读者掌握最新的前端技术。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
author-avatar
天堂寨旅游2013_668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有