Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql索引类型

作者:狂刀血斧   发布日期:2025-06-23   浏览:31

-- 创建表并添加不同类型的索引

-- 1. 普通索引 (INDEX 或 KEY)
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    INDEX idx_name (name) -- 创建普通索引
);

-- 2. 唯一索引 (UNIQUE)
CREATE TABLE users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(100),
    UNIQUE INDEX idx_email (email) -- 创建唯一索引,确保 email 列的值唯一
);

-- 3. 主键索引 (PRIMARY KEY)
CREATE TABLE products (
    product_id INT AUTO_INCREMENT,
    product_name VARCHAR(100),
    price DECIMAL(10, 2),
    PRIMARY KEY (product_id) -- 创建主键索引,自动创建唯一索引并且不允许 NULL 值
);

-- 4. 全文索引 (FULLTEXT)
CREATE TABLE articles (
    article_id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255),
    content TEXT,
    FULLTEXT INDEX idx_content (content) -- 创建全文索引,用于全文搜索
);

-- 5. 多列索引 (组合索引)
CREATE TABLE orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    INDEX idx_customer_order (customer_id, order_date) -- 创建多列索引,对 customer_id 和 order_date 进行联合索引
);

解释说明:

  1. 普通索引INDEXKEY 关键字用于创建普通索引,可以加速查询速度。
  2. 唯一索引UNIQUE 关键字用于创建唯一索引,确保列中的值是唯一的。
  3. 主键索引PRIMARY KEY 是一种特殊的唯一索引,除了确保唯一性外,还不能包含 NULL 值。
  4. 全文索引FULLTEXT 索引用于支持全文搜索,适用于文本字段(如 TEXT 类型)。
  5. 多列索引:也称为组合索引,可以在多个列上创建索引,优化涉及多个列的查询。

上一篇:mysql排序

下一篇:mysql新增字段

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站