MySQL性能极其缓慢

Vas*_*lis 0 mysql sql performance database-schema

我有一个包含大约500K作业的表,每个作业都有一个唯一的ID用作主键,状态用于指示作业是挂起,完成还是失败.状态是一个非关键的整数.

我的问题是,我尝试根据状态选择作业的简单查询需要花费太多时间,超过10分钟.在DB中连接了大约46个线程,我也重新启动但它没有帮助性能.

我粘贴了表模式和我尝试在此运行的查询:http: //pastie.org/10416054

有没有办法找到瓶颈和优化表,所以它不需要那么长时间?

Dre*_*rew 11

几个小时后,我会匆匆离开以下命令:

CREATE INDEX idx_qry_status ON queries(status);
Run Code Online (Sandbox Code Playgroud)

由于您的查询正在执行表扫描,因此不使用任何索引.

请参阅创建索引的手册页面.

表格后的视觉效果(不是表现方式):

create table queries
(   id bigint auto_increment primary key,
    status int null
    -- partial definition
);
insert queries (status) values (7),(2),(1),(4),(1),(5),(9),(11);

CREATE INDEX idx_qry_status ON queries(status);
show indexes from queries;
+---------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table   | Non_unique | Key_name       | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| queries |          0 | PRIMARY        |            1 | id          | A         |           8 |     NULL | NULL   |      | BTREE      |         |               |
| queries |          1 | idx_qry_status |            1 | status      | A         |           8 |     NULL | NULL   | YES  | BTREE      |         |               |
+---------+------------+----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Run Code Online (Sandbox Code Playgroud)