首页 > 其他分享 >索引

索引

时间:2023-09-22 23:33:38浏览次数:35  
标签:-- 索引 字段 添加 MySQL where

什么是索引?

索引是再数据库表上添加的,是为了提高查询效率而存在的一种机制,一张表的一个字段可以添加一个索引,当然,多个字段也可以联合起来添加索引。索引相当于一本书的目录,通过目录可以快速找到我们需要的数据。注意MySQL中的索引需要进行排序,并且这个索引的排序和TreeSet数据结构相同,MySQL中的索引是一个B-Tree数据结构。 ==注意:在任何数据库中,主键和unique约束都会自动添加索引!!任何一张表中,一行的数据在硬盘中的存储都有一个编号(内存地址),在MySQL中,索引是一个单独的对象,不同的存储引擎以不同的形式存在!== 索引的实现原理:左小右大的二叉树,先通过索引的二叉树找到编号,通过编号找到物理地址,然后直接通过物理地址定位到具体的数据。 索引添加的条件:①、数据量非常大 ②、该字段经常出现在where的后面 ③、该字段很少进行DML操作。

	#### 索引的创建和删除
-- 创建索引的语法
create index 索引名 on 表名(需要添加索引的字段);
-- 删除索引的语法
drop index 索引名 on 需要删除索引的表;
-- 查看一个SQL语句是否运用了索引进行检索
explain select* from 表名 where 条件;
索引的失效

那些会让索引失效:%开头的模糊查询、使用or的时候,or条件的两边的字段都必须有索引,不然索引失效、使用复合索引的时候没有使用左侧的列查找、在where当中索引列参加了数学运算、在where当中索引列使用了函数。

索引的分类

单一索引:一个字段上添加索引 复合索引:两个字段或多个字段添加索引 主键索引 唯一性索引 ....... 注意:唯一性比较弱的字段上添加索引用处不大,可能会存在大量的重复数据,这个时候索引就不起太大的作用。

标签:--,索引,字段,添加,MySQL,where
From: https://blog.51cto.com/u_15433911/7573102

相关文章

  • 搜索引擎喷一喷
    1.bing搜索 childContextTypes和getChildContext搜出的结果不如google优质,google会直接显示React的文档,第一条就是精准的结果  bing搜索出的都是博客,居然第一页搜到了本人的博客,本人这篇写的还不错2.bing在网络不好的时候,会显示该词条搜索不到结果,不是搜索不到,而是网......
  • 在“百模大战”重生,搜索引擎又行了?
    文丨智能相对论作者丨沈浪“我想让人们知道,是我们(微软)让他们(谷歌)‘跳舞’。”当加入ChatGPT功能的新一代Bing上线,微软CEO纳德拉就已经按耐不住向谷歌发起了挑战。他认为加入新一代人工智能对搜索是一次重新思考的变革,从现在开始,包括核心排名在内的几乎所有东西都可以重新想象。微软......
  • 搜索引擎排名因素有哪些具体的细节?
    搜索引擎排名因素有很多,以下是一些常见的因素:关键词密度和位置:搜索引擎会考虑关键词在网页上的出现频率和位置。关键词密度指的是关键词在网页内容中出现的频率与整个文本的比例。关键词的位置也很重要,例如,如果关键词出现在页面的顶部或标题标签中,则更有可能被搜索引擎重视。页......
  • Oracle数据库索引
    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。数据库索引什么是索引数据库索引好比是一本书前面的目录,能加快数据库的查询速度。例如这样一个查询:select*fromtable1whereid=44。如果没有索引,必须遍历整个表,直到ID等......
  • Lucene为数据库建索引
    如果要构建一个全文检索系统,并且文章全部保存在数据库中,那下面的例子会有很大的帮助.importjava.sql.*;importorg.apache.lucene.analysis.standard.StandardAnalyzer;importorg.apache.lucene.document.Document;importorg.apache.lucene.document.Field;importorg......
  • 慢SQL原因分析之索引失效
    现象最近收到一个慢sql工单,慢sql大概是这样:“selectxxxfromtabelwheretype=1”。咦,type字段明明有索引啊,为啥是慢sql呢?原因通过执行explain,发现实际上数据库执行了全表扫描,从而被系统判定为慢sql。这时有一定开发经验的同事会说:“字段区分度不够,这种字段作单独索引是......
  • 数据库为什么要索引(转)
    总结:数据库存储顺序随机,如果没有索引,每次查询都需要一行行遍历,查找出符合条件的点,复杂度O(N)数据库会按照rowid排序,并给主键建立索引,所以如果以rowid或者主键为搜索条件,复杂度可以近似看做二分查找的复杂度,即O(logN)如果没有主键,或搜索条件不是主键,可以给搜索目标增加索......
  • MySQL索引、事务与存储引擎
    MySQL索引、事务与存储引擎索引介绍1、索引的概念索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的......
  • 学法减分-基于搜索引擎
    缘由违章扣分较多,通过学法减分减少扣分操作线上申请:12123操作线上学习:文档或视频线上考试:一次考试,2次补考线上考试可以通过搜索引擎指定网站的功能搜索考题关键字,基本能过示例最大允许总质量百分之三十site:https://www.jiakaobaodian.com/site:https://www.jiak......
  • ChatGPT可以取代搜索引擎吗?
    ChatGPT对于一些简单的问题,可以完美的完成任务。但是我让它写一篇完整的文章,看看它能否代替我进行写作地的时候,我确定它不能完全取代人类。但是我们可以使用更多的指导来让AI在日常工作流程为我们工作,所以本文将讨论如何有效利用ChatGPT。这个想法是从简单的日常用例开始,然后进入......