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

mysql是如何使用索引的?

摘自官网

MySQL使用索引进行以下操作:

  1. WHERE条件中,快速查找匹配的行。(快速查询数据)

  2. 从准备查询的数据中消除多余行。如果可以在多个索引之间进行选择,则MySQL通常会使用查找最少行数的索引。

  3. 如果表具有多列索引,那么优化器可以使用索引的任何最左前缀来查找行。
    举例来说,如果你有一个三列的索引 (col1, col2, col3),你有索引的搜索功能(col1), (col1, col2)以及(col1, col2, col3)。有关更多信息,请参见 第8.3.6节“多列索引”。

  4. 执行联接时从其他表中检索行。如果声明相同的类型和大小,MySQL可以更有效地在列上使用索引。
    在这种情况下, **VARCHAR与 CHAR被认为是相同的,**如果它们被声明为相同的大小。例如, VARCHAR(10)和 CHAR(10)是相同的大小,但是 VARCHAR(10)和 CHAR(15)不是。

    为了在非二进制字符串列之间进行比较,两个列应使用相同的字符集。例如,将一utf8列与一 latin1列进行比较会排除使用索引。

    如果无法通过转换直接比较值,则比较不同的列(例如,将字符串列与时间或数字列进行比较)可能会阻止使用索引。
    对于给定的值,如1 是数值,它可能与字符串列进行比较时,是相等的,例如 ‘1’,’ 1’, ‘00001’,或’01.e1’。这排除了对字符串列使用任何索引的可能性。

http://www.lryc.cn/news/294386.html

相关文章:

  • 自动驾驶IPO第一股及商业化行业标杆 Mobileye
  • Linux前后端程序部署
  • 手把手 S32K344移植FreeRTOS
  • 《云原生安全攻防》-- 云原生安全概述
  • 综合分享1
  • Redis -- set集合
  • 明天是几号(c++题解)
  • PHP安装后错误处理
  • Unity3D开发之鼠标单双击判断
  • openGauss学习笔记-214 openGauss 性能调优-确定性能调优范围
  • JAVA——Stream流
  • QXlsx Qt操作excel(1)
  • 20240131在ubuntu20.04.6下使用whisper不同模式的比对
  • HTTP相关问题
  • 闲人闲谈PS之五十三——离散制造中的魔鬼--物料套裁
  • Dell服务器iDRAC9忘记密码, 通过RACADM工具不重启 重置密码
  • 2024年Java架构篇之数据结构与算法面试题
  • 蓝桥杯刷题day06——平均
  • MySQL分区的优缺点
  • 2023年度总结
  • aspose-words在linux上安装字体
  • SpringBoot实战项目第一天
  • C# 信号量(Semaphore)详细使用案例
  • 《Docker极简教程》--Docker基础--Docker的基本概念
  • 【AIGC核心技术剖析】DreamCraft3D一种层次化的3D内容生成方法
  • 新版MQL语言程序设计:外观模式的原理、应用及代码实现
  • Docker 搭建mysql 集群(二)
  • L1-018 大笨钟-java
  • monaco-editor布局篇(二)-自动换行
  • 08-常用集合(容器)