当前位置: 首页 > 面试题库 >

mysql索引太多?

魏宏邈
2023-03-14
问题内容

我花一些时间来优化当前数据库。

我正在专门查看索引。

有几个问题:

  • 索引太多了吗?
  • 索引将加速什么?
  • 索引会减慢什么?
  • 什么时候添加索引是个好主意?
  • 什么时候添加索引是个坏主意?
  • 多个索引与多列索引的优缺点

问题答案:

索引将加速什么?

数据检索-SELECT语句。

索引会减慢什么?

数据操作-INSERT,UPDATE,DELETE语句。

什么时候添加索引是个好主意?

如果您想获得更好的数据检索性能。

什么时候添加索引是个坏主意?

在将要进行大量数据操作的表上-插入,更新…

多个索引与多列索引的优缺点

在处理覆盖索引(多个列的索引)时,查询需要解决列的顺序,在索引列定义中从左到右。语句中的列顺序无关紧要,只有列1、2和3的顺序无关紧要-
一条语句在使用索引之前需要引用第1列。如果仅引用第2列或第3列,则无法使用1/2/3的覆盖率索引。

在MySQL中,查询中的SELECT
/语句只能使用一个索引(子查询/等被视为单独的语句)。MySQL允许的每个表的空间量是有限制的。此外,在索引列上运行函数会使索引无用-IE:

WHERE DATE(datetime_column) = ...


 类似资料:
  • 主要内容:为什么要使用索引,索引的优缺点索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。本节将详细讲解索引的含义、作用和优缺点。 通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息进行匹配。 可以把索引比作新华字典的音序表。例如,要查“库”字,如果不使用音序,就需要从字典的 400 页中逐页来找。但是,如果提取拼音出来,构成音序表

  • 本文向大家介绍MySQL索引之主键索引,包括了MySQL索引之主键索引的使用技巧和注意事项,需要的朋友参考一下 在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别。 1、主键索引 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录。一个表可以没

  • 本文向大家介绍MySQL索引使用说明(单列索引和多列索引),包括了MySQL索引使用说明(单列索引和多列索引)的使用技巧和注意事项,需要的朋友参考一下 1. 单列索引 在性能优化过程中,选择在哪些列上创建索引是最重要的步骤之一。可以考虑使用索引的主要有两种类型的列:在Where子句中出现的列,在join子句中出现的列。请看下面这个查询: 这个查询与前面的查询略有不同,但仍属于简单查询。由于age是

  • 问题内容: 我用一个无用的盒子复制了一个项目,该项目安装了Debian,Nginx,PhpMyAdmin等。在新项目中,Laravel 不再起作用,并且出现错误: 当我对工作中的项目数据库进行转储(结构+数据)并将其导入数据库中时,如果存在迁移错误,则一切正常,它将创建所有表并导入数据。 如何固定大小以便可以运行migration方法? 问题答案: 如您在错误消息中所看到的- 如果要在其上创建索引

  • 索引创建完成后,可以利用 SQL 语句查看已经存在的索引。在 MySQL 中,可以使用 SHOW INDEX 语句查看表中创建的索引。 查看索引的语法格式如下: SHOW INDEX FROM <表名> [ FROM <数据库名>] 语法说明如下: <表名>:指定需要查看索引的数据表名。 <数据库名>:指定需要查看索引的数据表所在的数据库,可省略。比如,SHOW INDEX FROM studen

  • 主要内容:基本语法,创建普通索引,创建唯一索引创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度。创建索引对 MySQL 数据库的高效运行来说是很重要的。 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使用专门用于创建索引的 CREATE INDEX 语句在一个已有的表上创建索引,但该语句不能创建主键。 语法格式: CREATE <索引名> ON <表名> (<列名> [