码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mysql索引


    目录

    一、数据库索引

    1.索引的概念

    2.索引的作用

    2.1 优势

    2.2 代价

    3.创建索引的原则依据

    4.索引的分类和创建

    4.1 普通索引

    4.2唯一性索引

    4.3 主键索引

    4.4 全文索引

    4.5 单列索引和多列索引

    5.查看索引

    6.删除索引

    6.1 直接删除索引

    6.2 修改表方式删除索引

     6.3 删除主键索引


    一、数据库索引

    1.索引的概念

    • 索引是一种特殊的概念
    • 数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录

    2.索引的作用

    2.1 优势

    • 设置了合适的索引之后,可以大大加快数据的查询速度
    • 降低数据库的IO成本,降低数据库的排序成本
    • 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
    • 可以加快表和表之间的连接
    • 在使用分组和排序子句进行数据查询时,可以显著减少查询中分组和排序的时间

    2.2 代价

    • 增加了数据库的存储空间
    • 插入和修改数据时要花费较多的时间

    3.创建索引的原则依据

    • 表的主键、外键必须有索引。因为主键具有唯一性,外键关联的是子表的主键,查询时可以快速定位

    • 记录数超过300行的表应该有索引。如果没有索引,需要把表遍历一遍,会严重影响数据库的性能

    • 经常与其他表进行连接的表,在连接字段上应该建立索引

    • 唯一性太差的字段不适合建立索引

    • 更新太频繁地字段不适合创建索引

    • 经常出现在 where 子句中的字段,特别是大表的字段,应该建立索引

    • 索引应该建在选择性高的字段上

    • 索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引

    4.索引的分类和创建

    4.1 普通索引

    4.1.1 创建表的时候指定索引

     4.1.2 直接创建索引

     4.1.3 修改表的方式创建索引

    4.2唯一性索引

    和‘普通索引’基本相似,但是索引列的所有值只能出现一次,即必须唯一

    4.2.1 创建表的时候指定索引

     4.2.2 直接创建索引

     4.2.3 修改表的方式创建索引

    4.3 主键索引

    创建主键时将自动创建主键索引

    4.3.1 创建表的时候指定索引

     4.3.2 修改表的方式创建索引

    4.4 全文索引

    索引类型为FULLTEXT,可以在char,varchar,text类型的列上创建

    4.4.1 创建表的时候指定索引

     4.4.2 直接创建索引

    4.4.3 修改表的方式创建索引

    4.5 单列索引和多列索引

    可以在单列上创建索引,也可以在多列上创建的索引

    4.5.1 创建表的时候指定索引

     4.5.2 修改表的方式创建索引

    5.查看索引

    6.删除索引

    6.1 直接删除索引

    6.2 修改表方式删除索引

     6.3 删除主键索引

     

  • 相关阅读:
    qgis制图
    七夕来临,程序员该如何花式表白?html+css实现简单七夕表白
    4核8g服务器能支持多少人访问?
    你如何看待AIGC技术?
    04-HotSpot 垃圾收集器
    树莓派基金会近日发布了新版基于 Debian 的树莓派操作系统
    【Proteus仿真】【Arduino单片机】DHT11温湿度
    QCI利用量子计算为飞行汽车提供优化飞行路径和改进设计的功能
    KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(3)
    酷炫效果 进度条
  • 原文地址:https://blog.csdn.net/weixin_71429844/article/details/126804405
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号