iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql有哪些主要的索引类型
  • 561
分享到

mysql有哪些主要的索引类型

2024-04-02 19:04:59 561人浏览 独家记忆
摘要

下面一起来了解下Mysql有哪些主要的索引类型,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql有哪些主要的索引类型这篇短内容是你想要的。mysql中索引类型有:最基本的没有限制的普通索引,索引列

下面一起来了解下Mysql有哪些主要的索引类型,相信大家看完肯定会受益匪浅,文字在精不在多,希望mysql有哪些主要的索引类型这篇短内容是你想要的。

mysql中索引类型有:最基本的没有限制的普通索引,索引列的值必须唯一的唯一索引,主键索引,多个字段上创建的组合索引以及用来查找文本中的关键字的全文索引

mysql有哪些主要的索引类型

1、普通索引

是最基本的索引,它没有任何限制。它有以下几种创建方式:

直接创建索引

CREATE INDEX index_name ON table(column(length))

修改表结构的方式添加索引

ALTER TABLE table_name ADD INDEX index_name ON (column(length))

创建表的时候同时创建索引

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,    PRIMARY KEY (`id`),    INDEX index_name (title(length))
)

删除索引

DROP INDEX index_name ON table

2、唯一索引
与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

创建唯一索引

CREATE UNIQUE INDEX indexName ON table(column(length))

修改表结构

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))

创建表的时候直接指定

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    UNIQUE indexName (title(length))
);

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

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) NOT NULL ,    PRIMARY KEY (`id`)
);

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

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);

5、全文索引
主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。fulltext索引配合match against操作使用,而不是一般的where语句加like。它可以在create table,alter table ,create index使用,不过目前只有char、varchar,text 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE index创建fulltext索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多。
创建表的适合添加全文索引

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,    PRIMARY KEY (`id`),
    FULLTEXT (content)
);

修改表结构添加全文索引

ALTER TABLE article ADD FULLTEXT index_content(content)

直接创建索引

CREATE FULLTEXT INDEX index_content ON article(content)

缺点

1、虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行insert、update和delete。因为更新表时,不仅要保存数据,还要保存一下索引文件。
2、建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会增长很快。索引只是提高效率的一个因素,如果有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。

注意事项

使用索引时,有以下一些技巧和注意事项:

1、索引不会包含有null值的列

只要列中包含有null值都将不会被包含在索引中,复合索引中只要有一列含有null值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为null。

2、使用短索引

对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个char(255)的列,如果在前10个或20个字符内,多数值是唯一的,

那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。

3、索引列排序

查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符

合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。

4、like语句操作

一般情况下不推荐使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。

5、不要在列上进行运算,这将导致索引失效而进行全表扫描,例如

SELECT * FROM table_name WHERE YEAR(column_name)<2017;

6、不使用not in和<>操作

看完mysql有哪些主要的索引类型这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的数据库栏目。

 

您可能感兴趣的文档:

--结束END--

本文标题: mysql有哪些主要的索引类型

本文链接: https://www.lsjlt.com/news/35132.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql索引类型有哪些
    这篇“mysql索引类型有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql索引...
    99+
    2024-04-02
  • mysql的索引有哪些类型
    mysql索引可快速查找数据,通过在键值对中存储列值和数据指针实现。常见的索引类型有:b-tree索引:支持范围查询,数据量大时性能佳。哈希索引:完全匹配查询快,但更新数据开销大。全文索...
    99+
    2024-04-22
    mysql 键值对
  • mysql索引类型有哪些?
    在Mysql数据库当中,我们经常会谈到Sql语句,当然也会谈到索引优化,那么在数据库当中有哪些索引类型呢,博主在这里进行分享,希望对大家能有所帮助。 目录 1、B-Tree索引: 2、Hash索引: 3、Full-text索引: 4、...
    99+
    2023-09-07
    数据库
  • MySQL中有哪些索引类型
    本篇文章给大家分享的是有关MySQL中有哪些索引类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.B-Tree索引因为存储引擎不⽤进⾏全表扫描来获取数据,直接从索引的根节点...
    99+
    2023-06-14
  • 不同类型的MySQL索引有哪些?
    MySQL索引是提高查询效率的重要工具,它可以加快数据检索速度。下面详细介绍了MySQL中的几种常见索引,并提供了具体的代码示例。 主键索引(Primary Key Index):主键...
    99+
    2024-02-22
    全文索引 哈希索引 mysql索引 地理位置
  • mysql的索引有哪些类型和特点
    mysql索引类型包含:1. b-tree 索引:快速等值、范围及前缀搜索;2. 哈希索引:快速等值搜索;3. 全文索引:模糊搜索文本字段;4. 空间索引:地理空间查询;5. 覆盖索引:...
    99+
    2024-04-22
    mysql 键值对
  • mysql数据库索引类型有哪些
    这篇文章主要介绍mysql数据库索引类型有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文将着重描述masql数据库索引的四种类型,数据库索引怎么建立?在WHERE和J...
    99+
    2024-04-02
  • DynamoDB的索引类型有哪些
    DynamoDB 的索引类型有两种:局部索引(Local Secondary Index,LSI)和全局索引(Global Seco...
    99+
    2024-04-09
    DynamoDB
  • python索引类型有哪些
    python中索引的类型:1.普通索引,最基本的索引;2.唯一索引,不允许其中任何两行具有相同索引值的索引;3.主键索引,唯一索引的特定类型;4.复合索引,多个字段上创建的索引;python中索引的类型有普通索引、唯一索引、主键索引和复合索...
    99+
    2024-04-02
  • oracle索引类型有哪些
    oracle索引类型有:1、B-Tree索引;2、位图索引;3、函数索引;4、哈希索引;5、反向键索引;6、局部索引;7、全局索引;8、域索引;9、位图连接索引;10、复合索引。详细介绍:1、B-Tree索引,是一种自平衡的、可以高效地支持...
    99+
    2023-11-16
    oracle 索引
  • mysql 索引类型有哪些,分别有哪些作用
    MySQL 支持多种索引类型,每种类型都有其特定的用途和优势。以下是 MySQL 中常见的索引类型及其作用:B-Tree 索引(默认)作用:B-Tree 索引是最常见的索引类型,用于加速数据的检索速度。特点:B-Tree 索引能够保持数据的...
    99+
    2024-03-08
    索引 mysql索引类型
  • Teradata中的索引类型有哪些
    在Teradata中,常见的索引类型包括: 主索引(Primary Index):每个表只能有一个主索引,用于确定数据行在AMP...
    99+
    2024-04-02
  • 数据库常用的索引类型有哪些
    常用的数据库索引类型包括:1. B-树索引:B-树(Balanced Tree)是一种平衡的多路搜索树,常用于关系型数据库中的索引结...
    99+
    2023-09-05
    数据库
  • mysql存储引擎的类型有哪些
    MySQL存储引擎的类型有以下几种: InnoDB:支持事务处理,具有较好的性能和可靠性,适合大型数据库应用。 MyISAM:不支...
    99+
    2024-04-09
    mysql
  • mysql主键和索引有哪些区别
    这篇文章主要为大家展示了“mysql主键和索引有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql主键和索引有哪些区别”这篇文章吧。 ...
    99+
    2024-04-02
  • mysql的索引类型和索引方法
    mysql 索引类型包括普通索引、唯一索引、全文索引、空间索引和哈希索引。索引方法有 btree、hash 和 rtree。选择合适的索引类型和方法取决于数据类型和查询模式,例如范围查找...
    99+
    2024-04-22
    mysql
  • Couchbase支持哪些类型的索引
    Couchbase支持以下类型的索引: GSI(Global Secondary Index)全局二级索引:在整个集群中可用,用...
    99+
    2024-03-08
    Couchbase
  • Oracle数据库中有哪些索引类型
    今天就跟大家聊聊有关Oracle数据库中有哪些索引类型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、B-Tree索引三大特点:高度较低、存储列值...
    99+
    2024-04-02
  • mysql中索引有什么类型
    这篇文章主要介绍mysql中索引有什么类型,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL目前主要有的索引类型为:普通索引、唯一索引、主键索引、组合索引、全文索引。下面本篇文...
    99+
    2024-04-02
  • 小程序api主要类型有哪些
    这篇文章主要介绍了小程序api主要类型有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇小程序api主要类型有哪些文章都会有所收获,下面我们一起来看看吧。用于监视事物的API这些API通常用于监视是否发生了某...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作