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

mysql中日期上加了date函数如何加索引

作者:平凡中的不凡   发布日期:2025-09-28   浏览:16

-- 示例代码:在 MySQL 中为包含 date 函数的日期列加索引

-- 假设有一个表 `events`,其中有一列 `event_date` 存储事件日期。
-- 我们经常需要查询某一天的事件,使用了 DATE() 函数来截取日期部分。

CREATE TABLE events (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event_date DATETIME NOT NULL,
    description TEXT
);

-- 为了优化查询性能,我们可以创建一个函数索引(在 MySQL 8.0 及以上版本支持)
-- 或者创建一个冗余列并为其加索引。

-- 方法1:创建函数索引(MySQL 8.0+)
CREATE INDEX idx_event_date ON events ((DATE(event_date)));

-- 方法2:创建冗余列并加索引
ALTER TABLE events ADD COLUMN event_date_only DATE AS (DATE(event_date)) STORED;
CREATE INDEX idx_event_date_only ON events (event_date_only);

-- 解释:
-- 方法1直接为 DATE(event_date) 创建索引,适用于 MySQL 8.0 及以上版本。
-- 方法2通过添加一个冗余列 event_date_only 来存储 DATE(event_date) 的结果,并为该列创建索引。
-- 这两种方法都可以提高涉及 DATE(event_date) 查询的性能。

上一篇:mysql 命令行登录

下一篇:mysql 时间加一天

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

unsigned在mysql中是什么意思

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

Laravel 中文站