php - Mysql 查询执行时间过长

标签 php mysql sql performance

所以我必须表,products_used 大约 600MB 和 products_language_description 大约 5MB,但问题是这个查询永远不会完成运行...

我已经尝试过修复、优化分析,但我不知道如何改进...

SELECT pu.products_id, count(pu.products_id) as products_count, p.products_name,
pu.time_used FROM products_used pu, products_language_description p
WHERE pu.merchant_id='69'
AND p.products_id=pu.products_id GROUP BY products_id ORDER BY products_count
DESC LIMIT 0, 20



CREATE TABLE `products_used` (
    `products_used_id` INT(15) NOT NULL AUTO_INCREMENT,
    `plans_key` VARCHAR(255) NOT NULL DEFAULT '0',
    `products_id` BIGINT(20) NOT NULL DEFAULT '0',
    `customers_id` INT(10) NOT NULL DEFAULT '0',
    `merchant_id` INT(10) NOT NULL DEFAULT '0',
    `time_used` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    PRIMARY KEY (`products_used_id`),
    INDEX `plans_key` (`plans_key`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM
AUTO_INCREMENT=24625441;

CREATE TABLE `products_language_description` (
    `products_id` INT(5) NOT NULL DEFAULT '0',
    `products_description` LONGTEXT NOT NULL,
    `products_name` TEXT NOT NULL COLLATE 'utf8_general_ci',
    `products_help_info` LONGBLOB NOT NULL,
    `products_language` VARCHAR(255) NOT NULL DEFAULT '',
    PRIMARY KEY (`products_id`, `products_language`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM;

最佳答案

尝试向 products_used 表上的 product_idmerchant_id 字段添加索引

关于php - Mysql 查询执行时间过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22536339/

相关文章:

php - 如何仅使用我的虚拟主机帐户的 IP 地址访问我在 GoDaddy 上的网站

php - 为什么使用我的主键 'code_giac' 来更新我的字段?

mysql - 对于 View 中的每个人?

sql - 元组关系演算中的员工部门查询和最低和最高工资?

SQL Server - 如何填充缺失的列值

javascript - HTML 显示 = 无 不起作用

php - Phinx 迁移 sqlite 内存 phpunit

MySQL:如果包含操作,则查询用户标识

PHP 注册表单不工作

mysql - mysql 命令中 < 的替代方案