OnITRoad - MySQL索引

MySQL创建索引

MySQL创建索引 简介:在本教程中,您将了解索引以及如何使用MySQL CREATE INDEX语句向表中添加索引。 电话簿类比 假设您有一本电话簿,其中包含城市中所有人员的姓名和电话号码。 假设您要查找Bob Cat的电话号码。 知道名字是按字母顺序排列的,您首先要找到姓为Cat的页面,然后寻找Bob和他的电话号码。 现在,如果电话簿中的名称不是按字母顺序排列的,则需要遍历所有页面,阅读其

Views:0  2019-11-20

MySQL 删除索引

MySQL 删除索引 简介:在本教程中,您将学习如何使用MySQL DROP INDEX语句删除表的现有索引。 MySQL DROP INDEX语句语法 要从表中删除现有索引,请使用DROP INDEX语句,如下所示: DROP INDEX index_name ON table_name [algorithm_option | lock_option]; 使用以下语法: 首先,在DRO

Views:0  2019-11-20

MySQL 查看索引

MySQL 查看索引 摘要:在本教程中,您将学习如何使用MySQL SHOW INDEXES命令从表中查询索引信息。 MySQL SHOW INDEXES命令简介 要查询表的索引信息,请使用SHOW INDEXES语句,如下所示: SHOW INDEXES FROM table_name; 要获取表的索引,请在FROM关键字之后指定表名称。 该语句将返回与当前数据库中的表关联的索引信息。 如

Views:0  2019-11-20

使用MySQL UNIQUE索引防止重复

使用MySQL UNIQUE索引防止重复 简介:在本教程中,您将学习如何使用MySQL UNIQUE索引来防止表中一个或多个列中的重复值。 MySQL UNIQUE索引简介 要强制一个或多个列的唯一性值,通常使用PRIMARY KEY约束。 但是,每个表只能有一个主键。 因此,如果要具有一个以上的列或一组具有唯一值的列,则不能使用主键约束。 幸运的是,MySQL提供了另一种称为UNIQUE索引

Views:0  2019-11-20

MySQL前缀索引

MySQL前缀索引 简介:在本教程中,您将学习如何使用MySQL前缀索引为字符串列创建索引。 MySQL前缀索引简介 当您为列创建二级索引时,MySQL会将列的值存储在单独的数据结构中,例如B-Tree和Hash。 如果列是字符串列,则索引将占用大量磁盘空间,并可能减慢INSERT操作的速度。 为了解决这个问题,MySQL允许您使用以下语法为字符串列的列值的开头部分创建索引: column_n

Views:0  2019-11-20

MySQL不可见索引

MySQL不可见索引 简介:在本教程中,您将学习MySQL不可见索引和管理索引可见性的语句。 MySQL不可见索引(Invisible Index)简介 不可见索引使您可以将索引标记为查询优化器不可用。 当与索引关联的列中的数据发生更改时,MySQL会维护不可见索引并使其保持最新状态。 默认情况下,索引可见。 要使它们不可见,必须在创建时或使用ALTER TABLE命令明确声明其可见性。 My

Views:0  2019-11-20

MySQL降序索引

MySQL降序索引 简介:在本教程中,您将了解MySQL降序索引以及如何利用它来提高查询性能。 MySQL降序索引简介 降序索引是按降序存储键值的索引。 在MySQL 8.0之前,您可以在索引定义中指定DESC。 但是,MySQL忽略了它。 同时,MySQL可以以相反的顺序扫描索引,但是代价很高。 以下语句创建一个带有索引的新表: CREATE TABLE t( a INT NOT N

Views:0  2019-11-20

MySQL 复合索引

MySQL 复合索引 简介:在本示例中,您将了解MySQL复合索引以及如何使用它来加快查询速度。 MySQL复合索引简介 复合索引是多个列上的索引。 MySQL允许您创建一个最多由16列组成的复合索引。 复合索引也称为多列索引。 查询优化器将组合索引用于测试索引中所有列的查询,或用于测试前几列,前两列等的查询。 如果在索引定义中以正确的顺序指定列,则单个复合索引可以加快对同一表的这类查询的速度

Views:0  2019-11-20

MySQL聚簇索引

MySQL聚簇索引 简介:在本教程中,您将了解MySQL聚集索引以及如何在InnoDB表中管理聚集索引。 什么是聚簇索引(clustered index) 通常,索引是一个单独的数据结构,例如B-Tree,它存储用于更快查找的键值。 另一方面,聚集索引实际上是表。 它是一个索引,它实际上对表的行执行排序。 创建聚簇索引后,将根据用于创建聚簇索引的键列存储表中的所有行。 因为聚集索引按排序顺序存

Views:0  2019-11-20

MySQL索引基数

MySQL索引基数 简介:在本教程中,您将了解MySQL索引基数以及如何使用SHOW INDEXES命令查看索引基数。 索引基数是指存储在索引内指定列中的值的唯一性。 MySQL根据存储​​为整数的统计信息生成索引基数,因此,该值可能不一定准确。 查询优化器使用索引基数为给定查询生成最佳查询计划。 它还使用索引基数来决定在联接操作中是否使用索引。 如果查询优化器选择基数较低的索引,则它可能比不使用

Views:0  2019-11-20

MySQL USE INDEX提示

MySQL USE INDEX提示 简介:在本教程中,您将学习如何使用MySQL USE INDEX提示来指示查询优化器仅对查询使用命名索引列表。 MySQL USE INDEX提示介绍 在MySQL中,当您提交SQL查询时,查询优化器将尝试制定最佳的查询执行计划。 为了确定最佳的计划,查询优化器将使用许多参数。 用于选择要使用的索引的最重要参数之一是存储的密钥分布,也称为基数。 但是,基数可

Views:0  2019-11-20

MySQL FORCE索引

MySQL FORCE索引 简介:在本教程中,您将学习如何使用MySQL FORCE INDEX强制查询优化器使用指定的命名索引。 查询优化器是MySQL数据库服务器中的一个组件,它为SQL语句制定了最佳的执行计划。 查询优化器使用可用的统计信息提出所有候选计划中成本最低的计划。 例如,查询可能会请求价格在10到80之间的产品。 如果统计数据表明80%的产品具有这些价​​格范围,则它可能会确定全表

Views:0  2019-11-20