`

MySQL中判断索引不存在时添加索引

阅读更多
使用存储过程实现索引添加:
DROP PROCEDURE IF EXISTS add_index;

CREATE PROCEDURE add_index()
  BEGIN
    DECLARE  CurrentDatabase VARCHAR(100);
    SELECT DATABASE() INTO CurrentDatabase;
    IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name = 'tbl03' AND index_name = 'start_idx') THE
N
    ALTER TABLE tbl03 ADD INDEX start_idx (start);
    END IF;
    IF NOT EXISTS (SELECT * FROM information_schema.statistics WHERE table_schema=CurrentDatabase AND table_name = 'tbl03' AND index_name = 'stop_idx') THEN
    ALTER TABLE tbl03 ADD INDEX stop_idx (stop);
    END IF;
END



调用和删除存储过程
CALL add_index();
DROP PROCEDURE IF EXISTS add_index;
分享到:
评论

相关推荐

    mysql存储与索引技术

    MySQL 的索引分为两种主要类型:MyISAM 使用非聚集索引,索引与数据分开存储,而 InnoDB 使用聚集索引,索引和数据在同一结构中,因此 InnoDB 的索引支持更快的查找,但不支持全文检索。在索引优化方面,最左前缀...

    MySQL Innodb 索引原理详解

    - **非聚簇索引**:非主键索引是非聚簇索引,它们并不决定表中数据的物理存储顺序。 ##### 2.4 插入与删除 - **插入操作**:当向B+树中插入新的关键字时,如果当前节点已满,则需要进行分裂操作。B+树的分裂操作只...

    Mysql判断表字段或索引是否存在

    本篇文章将详细介绍如何在MySQL中判断表字段或索引是否存在,并提供相关的示例代码。 首先,我们来看如何判断表字段是否存在。在MySQL中,我们可以利用`information_schema.columns`系统表来查询当前数据库中的表...

    MySQL索引 聚集索引

    MySQL索引 聚集索引 如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。

    mysql添加索引.pdf

    总结来说,正确地添加和管理MySQL索引是提高数据库性能的关键,但同时也需要注意平衡索引带来的好处和潜在的问题。理解索引的工作原理、选择合适的索引类型以及定期维护和调整,是每个数据库管理员和开发人员必备的...

    mysql 索引与执行计划

    MySQL中的索引也有类似的设计,例如BTREE索引。每个节点包含了主键ID,当通过主键ID查询数据时,首先会查询索引库以快速定位到具体的数据记录。 ##### 1.1.2 索引的分类 在MySQL中,索引可以根据不同的标准进行...

    mysql查询不走索引及解决方法

    mysql查询,通过explain 分析,没有利用到索引,查询效率不高等出现的问题。

    mysql数据库以及索引详解.pptx

    - 当数据库中的数据量不足以体现索引优势时。 #### 四、索引失效场景 索引失效是指原本可以利用索引来优化查询的情况却未能利用到索引,导致查询效率降低。 ##### 常见失效场景 - 关联查询中,索引字段与关联字段...

    mysql中创建各种索引的语句整理.pdf

    Mysql中创建各种索引的语句整理 代码 添加PRIMARY KEY(主键索引) 添加UNIQUE(唯一索引) 添加INDEX(普通索引) 添加FULLTEXT(全文索引) 添加多列索引 ) mysql>ALTER TABLE `...

    MySql索引详解,索引可以大大提高MySql的检索速度

    打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到...

    mysql的索引优化

    - **索引结构**:MySQL索引通常是以B树形式存储的。B树具有良好的查询性能,即使在大型数据集中也能保持高效的查找能力。 - **索引的组成**:对于每个索引项,MySQL都会保存一个指向实际数据文件中记录位置的“指针...

    MySQL之高效覆盖索引

    在这个例子中,如果存在一个包含`b`和`id`以及`name`列的索引,则数据库可以在不访问实际表的情况下完成这个查询。这就是覆盖索引的核心思想。 #### 三、创建覆盖索引 为了创建覆盖索引,我们需要确保索引中包含...

    mysql索引导出删除

    首先,让我们了解什么是MySQL索引。MySQL中的索引是一种特殊的数据结构,它为数据库表中的数据提供了快速访问的途径。常见的索引类型包括B-Tree(默认)、Hash、R-Tree和Full-text等。B-Tree索引是最常见的一种,...

    尚硅谷mysql高级:索引、优化

    一、MySQL索引 1. 索引类型:MySQL支持多种索引类型,包括B-Tree(默认索引类型)、Hash、Full-text(全文索引)以及R-tree(空间数据索引)。B-Tree索引适用于范围查询,而Hash索引适用于等值查询,Full-text索引...

    MySQL数据库:索引概述.pptx

    索引是数据库管理系统中不可或缺的一部分,尤其在处理大规模数据时,它的存在极大地提高了数据检索的效率。在MySQL中,索引是一个独立的、物理的数据库结构,它由表中一列或多列的集合以及对应的标识这些值所在数据...

    MySQL唯一索引重复插入数据解决方案总结.docx

    MySQL 唯一索引重复插入数据解决方案总结是指在 MySQL 中遇到唯一索引重复插入数据时的解决方案。这种情况下,MySQL 会报一个 Duplicate entry 的错误信息,表示不能在索引列上重复插入值。 处理这种情况可以从业务...

Global site tag (gtag.js) - Google Analytics