MySQL常见索引及其创建

MySQL索引

在 MySQL 数据库中,常见的索引类型包括以下几种:

  1. 普通索引(Normal Index):最基本的索引类型,没有任何限制。
  2. 唯一索引(Unique Index):要求索引列的值是唯一的,不允许重复。
  3. 主键索引(Primary Key Index):特殊的唯一索引,索引列的值必须唯一且不为空,用于唯一标识每行数据。
  4. 全文索引(Fulltext Index):用于全文搜索的索引类型,适合在文本字段上进行搜索。
  5. 组合索引(Composite Index):将多个列组合在一起创建的索引,可以提高多列条件查询的性能。

下面分别展示如何在 MySQL 中创建这些不同类型的索引:

1. 创建普通索引

复制代码
CREATE INDEX idx_name ON table_name (column_name);

2. 创建唯一索引

复制代码
CREATE UNIQUE INDEX idx_name ON table_name (column_name);

3. 创建主键索引

  1. 在创建表时定义主键索引

    CREATE TABLE table_name (
    id INT PRIMARY KEY,
    column1 VARCHAR(50),
    column2 INT
    );

在上面的示例中,通过将 id 字段定义为 PRIMARY KEY,即可创建一个名为 id 的主键索引。

  1. 在已存在的表上添加主键索引

    ALTER TABLE table_name
    ADD PRIMARY KEY (id);

通过以上 SQL 语句,可以在已存在的表 table_name 上添加一个名为 id 的主键索引。

  1. 使用自增主键

通常情况下,在 MySQL 中创建主键索引时会使用自增字段作为主键,例如:

复制代码
CREATE TABLE `table_name` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `column1` VARCHAR(50),
    `column2` INT
);

在上面的示例中,id 字段是一个自增主键,同时也是表的主键索引。

4. 创建全文索引

复制代码
CREATE FULLTEXT INDEX idx_name ON table_name (column_name);

5. 创建组合索引

复制代码
CREATE INDEX idx_name ON table_name (column1, column2);
相关推荐
forestsea7 分钟前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus
默 语25 分钟前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
probex_35 分钟前
从 ByConity 到 VictoriaMetrics:一次指标数据迁移引发的四种存储对比
数据库
用户3074596982071 小时前
MySQL EXPLAIN 零基础完全精通指南:从"看不懂"到"会优化"
mysql
Patrick在香港1 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
这个DBA有点耶1 小时前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范
迷茫的大专生2 小时前
高可用总结
redis·mysql·nginx·高可用
老纪的技术唠嗑局2 小时前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
Data_Journal2 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
白远山3 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析