热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql创建索引c_mysql创建索引

MySQL当中有许多的数据结构,小编在前面的文章当中都有给大家介绍过。今天小编就给大家介绍一下MySQL当中的索引,索引指的就是一个高效组织的数据结构&

MySQL当中有许多的数据结构,小编在前面的文章当中都有给大家介绍过。今天小编就给大家介绍一下MySQL当中的索引,索引指的就是一个高效组织的数据结构,它能够有效的提高数据检索的速度。

(一)MySQL索引简介

索引的存放位置:对于Innodb储存引擎的表来说,索引会按照MySQL进行配置,然后集中存放在相同的文件中。然而,对于Myisam储存引擎的表来说,索引信息就会单独储存在表的.MYI文件当中。

2a318c94f580a64e1cafd6c62bf4d4d3.png

Index文件不只储存了需要查询的数据的索引值,索引值下面还有该索引对应数据的指针信息,指向数据库文件真实数据的位置。就是说索引就等于书本的目录章节以及对应页码,数据库能按照章节标题以及页码寻找对应的数据,就可以加快查询速度。

以为MySQL的常用索引:

(1)普通索引

(2)主键索引

(3)唯一索引

(4)全文索引

(5)多列索引

通常,把索引添加在查询频繁并且重复度低的列上面,主键索引还有唯一的索引就是"主键约束"还有"Unique约束",这两种为特殊索引。

(二)索引实例

(1)普通索引

普通索引的创建,如下:

19ac7e26fd93c050054c3c967e0fd92f.png

(2)主键索引

主键索引又称"主键约束",如下:

6fe9a6e0b9d0a804940ca09b640a04f1.png

(3)唯一索引

唯一索引又称为“Unique约束”",如下:

3de7fb82218175db16139ac9ce8e9505.png

(4)全文索引

全文索引只可以对空格分隔字符的语言环境有效,如英文是句子中每个单词中间都会有空格,但是中文字符间是没有空格的。然而,在MySQL5.6.4之前的版本中,只有Myisam引擎的表才支持全文索引。在MySQL5.6.10版本后,InnoDB也支持索引技术了,如下例:

b8d0eaaf89c61dcc79e68a35e09de307.png

(5)多列索引

有时,把数据分开储存就会便于管理,但有时又要把他们看成整体索引查询,这样就能用多列索引:

01beccd63339e7dd4963b58bac465f59.png

在查找过程中,不管列名称怎么前后排序,MySQL都可以正确的组合,还能用到正确的索引,首先多列索引中位于开头的那些数据要包含在里面。假设三段数据a,b,c都加入了多列索引keykeyName(a,b,c),只是bandc就不会主动使用多列索引。但是,只要包含a,后面不管是c还是b亦或是只有a,都可以主动用多列索引查询。

这就是数据库中"左前缀"的概念,要是数据‘ABCDEF’加入了索引,就查询前面ABC部分,数据库能够按照索引查找ABC开头的数据,而我们只知道DEF部分,数据库就不会主动的用索引查找,原因是索引中没有DEF开头的数据。

0d43c3d5ac7ab5645bfe11da2286fc91.png

(三)索引管理

(1)对表索引信息进行查看

29e9c337e9e36b10cc53b940c4bb2a45.png

(2)删除表索引信息

27810c9d37eed701f1621a922c46f694.png

(3)追加索引信息

a5298c88447efe927bd6bb24cc4e5c94.png

总结:要是Key是MUL,那么这一列的值可以重复,这一列是非唯一索引的前导列,即第一列或者是一个唯一性索引的组成部分但是可以含有空值NULL。

关于MySQL使用SQL语句为表中字段添加索引,本文就介绍这么多,希望对大家有所帮助,谢谢!



推荐阅读
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
author-avatar
man_2_瞳皆哥仔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有