首页 > 数据库 >数据库索引

数据库索引

时间:2022-11-28 10:14:59浏览次数:42  
标签:fulltext 创建 数据库 全文索引 索引 引擎 主键

介绍

利用关键字,就是记录的部分数据(某个字段,某些字段,某个字段的一部分),建立与记录位置的对应关系,就是索引。

索引的作用:是用于快速定位实际数据位置的一种机制。 例如:字典的 检索

索引在mysql中,是独立于数据的一种特殊的数据结构。

索引一定有顺序(排好序的快速查找结构),记录则不一定。

索引的类型

  • 普通索引

    是最基本的索引,它没有任何限制。

  • 唯一索引

    索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。

  • 主键索引

    是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引

  • 组合索引

    指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合

  • 全文索引

    主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。fulltext索引配合match against操作使用,而不是一般的where语句加like。

    它可以在create table,alter table ,create index使用,不过目前只有charvarchartext 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE index创建fulltext索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多。

原理

每种存储引擎的索引都不一定完全相同,也不是所有的存储引擎都支持所有的索引类型,本文介绍mysql中的四种索引:

  • B+Tree索引

    最常见的索引,大部分数据库都支持

  • Hash索引

    只有Memory引擎支持,使用场景简单

  • R-Tree索引(空间索引)

    使用很少,是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据

  • S-Full-text(全文索引)

    MyISAM引擎的一个特殊索引类型,主要用于全文索引,InnoDBmysql5.6之后也开始支持全文索引

标签:fulltext,创建,数据库,全文索引,索引,引擎,主键
From: https://www.cnblogs.com/itelephant/p/16931446.html

相关文章

  • mysql 数据库管理
    一、常用的数据类型二、数据库管理2.1创建数据库和表-create2.2删除数据库和表-drop  一、常用的数据类型类型解释举例int整型......
  • 【转载】Oracle - 数据库打补丁最佳实践
    一、概述本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5 二、下载相关升级包1.登录MOS,查阅(ID2118136.2),下载最新补丁包......
  • 数据库中的锁
    在很多文章中都能见到不少“锁”,下面整理下常见的“锁”1、按照并发策略分类数据库中的并发控制主要分为三种,一是乐观锁,二是悲观锁,三是时间戳乐观锁持有的是一种乐观的......
  • 网络编程及数据库MySQL总结
    目录网络编程并发知识网络编程知识网络编程软件开发架构计算机网络的相关专业名词OSI七层协议物理连接层数据链路层网络层传输层应用层socket模块黏包现象struct模块并发编......
  • 这就是搜索引擎(3) 云存储与云计算概述
    1.背景为什么需要云存储和云计算?对于商业搜索引擎来说,需要处理的数据超过百亿,并且不部分数据都是互联网页面这样的无结构化或者半结构化数据。云存储和云计算平台的目的,......
  • MySQL进阶实战4,MySQL索引详解,下篇
    一、索引索引是存储引擎用于快速查找记录的一种数据结构。我觉得数据库中最重要的知识点,就是索引。存储引擎以不同的方式使用B-Tree索引,性能也各有不同,各有优劣。例如MyI......
  • MySQL InnoDB存储引擎索引:数据结构与算法原理和优化概述
    大家早上好!今天我为大家讲解的是MySQLInnoDB存储引擎索引的数据结构与算法原理和优化概述,大致分为这个部分分别给大家进行介绍。首先我们来看一下MySQL整体的架构,MySQL大......
  • 进入python的世界_day39_数据库——编辑表的补充、SQL数据查询语句
    一、编辑表的SQL语句补充altertable旧表名rename新表名;——改表名altertable表名change旧字段新字段新字段数据类型;——改字段altertable表名add新字......
  • 数据库MySQL
    目录数据库MySQL一、数据库基础知识以及典型数据库MySQL简介1、存储数据的演变史2、数据库软件的应用史3.数据库的本质4.数据库的分类5.MySQL简介6.MySQL基本使用7.制作系......
  • pandas合并表格与索引设置
    来自  https://zhuanlan.zhihu.com/p/356274590  当我们在做数据分析或者数据挖掘的时候难免会遇到需要合并多个表格的情况,在pandas中要连接表格的姿势非常之多,合适......