MySQL:如何索引我的表以优化此查询?

标签 mysql

我的表包含与对象相关的值的历史记录,它看起来像:

create table History (
    object_id  bigint  NOT NULL,
    value      int     NOT NULL,
    date       bigint  NOT NULL
);

如何对其建立索引以优化以下查询:

select * from History
    where object_id = ? and date < ?
    order by date desc
    limit ?

最佳答案

创建复合索引object_id + date

CREATE INDEX object_id_date ON History(object_id, `date`);

关于MySQL:如何索引我的表以优化此查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443177/

相关文章:

javascript - 单击一个按钮对 jQuery 中的表格进行排序

mysql - 为什么使用 PostgreSQL 和 MySQL 时 Rails 上的整数大小限制不同?

mysql - 计算聚合函数中错误记录占总记录的百分比

mysql - SQL - 将列类型从文本更改为日期和时间

mysql每天都显示即使没有结果

php - 在 2 个表中列出成员的所有内容(问题、答案)

javascript - Django 网站未正确检查链接

mysql - XSD 到 MySQL 架构

mysql - mySQL 中的存储过程问题

php - 在 php 或 Cakephp 中使用 fgetcsv 导入大型 CSV 文件