tecdoc查询需要5分钟以上

问题描述 投票:0回答:1

我有tecdoc数据库,我想做一个简单的查询,从一个类别的引擎获取所有文章,这个查询将执行最多,但它需要超过5分钟,我使用InnoDB的mysql发动机:

SELECT
    LA_ART_ID
FROM
               TOF_LINK_GA_STR
    INNER JOIN TOF_LINK_LA_TYP ON LAT_TYP_ID = $engine AND
                              LAT_GA_ID = LGS_GA_ID
    INNER JOIN TOF_LINK_ART ON LA_ID = LAT_LA_ID
WHERE
    LGS_STR_ID <=> $category
ORDER BY
    LA_ART_ID

 $engine = engine code;
 $category = category id;

我在LAT_TYP_ID,LAT_GA_ID,LAT_TYP_ID + LAT_GA_ID,LA_ID,LGS_STR_ID上做了索引,但没有成功,该表有超过150 mil的条目。我做错了什么?

mysql sql localhost
1个回答
0
投票

我在my.ini中更改了一些设置

innodb_read_io_threads=2
innodb_write_io_threads=4
innodb_log_file_size = 512M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=0
skip-innodb_doublewrite

并且通过解释功能,我将时间从分钟减少到使用正确索引的秒。

© www.soinside.com 2019 - 2024. All rights reserved.