mysql查询优化任务

mysql查询优化任务,mysql,Mysql,下面提到的是正在运行的查询和表 SELECT * FROM tfl_acquistions a, tfl_property_attributes b WHERE a.id = b.property_id AND attribute_id ='111' AND a.id ='53a8288c03a6823'; 表tfl_采集 CREATE TABLE `tfl_acquistions` ( `id` VARCHAR(32) NOT NULL DEFAULT '', `addres

下面提到的是正在运行的查询和表

SELECT * FROM 
tfl_acquistions a, 
tfl_property_attributes b WHERE 
a.id = b.property_id AND 
attribute_id ='111' AND 
a.id ='53a8288c03a6823'; 
表tfl_采集

CREATE TABLE `tfl_acquistions` ( 
`id` VARCHAR(32) NOT NULL DEFAULT '', 
`address` VARCHAR(100) NOT NULL DEFAULT '', 
`city` VARCHAR(50) NOT NULL DEFAULT '', 
`state` VARCHAR(10) NOT NULL DEFAULT '', 
`zip` VARCHAR(10) NOT NULL DEFAULT '', 
`county` VARCHAR(50) NOT NULL DEFAULT '', 
`country` VARCHAR(50) NOT NULL DEFAULT '', 
`status` ENUM('Y','N') NOT NULL DEFAULT 'Y', 
`customer_case` VARCHAR(25) NOT NULL DEFAULT '', 
`circle_id` INT(11) NOT NULL DEFAULT '0', 
`visneta_id` VARCHAR(45) NOT NULL DEFAULT '', 
`add_date` DATE NOT NULL DEFAULT '0000-00-00', 
`apt_no` VARCHAR(10) NOT NULL DEFAULT '', 
`profile_picture` VARCHAR(256) NOT NULL DEFAULT '', 
PRIMARY KEY (`id`), 
INDEX `address` (`address`), 
INDEX `city` (`city`), 
INDEX `state` (`state`), 
INDEX `zip` (`zip`), 
INDEX `status` (`status`), 
INDEX `customer_case` (`customer_case`), 
INDEX `circle_id` (`circle_id`), 
INDEX `visneta_id` (`visneta_id`) 
) 
表tfl\u属性\u属性

CREATE TABLE `tfl_property_attributes` ( 
`id` INT(11) NOT NULL AUTO_INCREMENT, 
`property_id` VARCHAR(32) NOT NULL, 
`attribute_id` INT(11) NOT NULL DEFAULT '0', 
`value` VARCHAR(500) NOT NULL DEFAULT '', 
`update_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
`update_by` INT(11) NOT NULL DEFAULT '0', 
PRIMARY KEY (`id`), 
INDEX `attribute_id` (`attribute_id`), 
INDEX `property_id` (`property_id`), 
INDEX `property_id_2` (`property_id`, `attribute_id`) 
) 
我的任务是优化这个查询,我是新的。。。。感谢您的帮助

请尝试:

SELECT * FROM 
tfl_acquistions a JOIN
tfl_property_attributes b ON a.id = b.property_id WHERE
b.property_id = '53a8288c03a6823' AND b.attribute_id = '111';
通过这种方式,MySQL将能够使用您在第二个表上创建的索引
property\u id\u 2
property\u id
attribute\u id
)。目前,它不能使用任何索引


尝试将
EXPLAIN
关键字放在查询前面,查看MySQL计划如何执行它们,您将看到以前的查询没有使用任何索引。

您检查过查询计划吗?您想要优化的是什么?它跑得慢吗?现在需要多长时间?您认为优化后应该做些什么?速度很慢,因为tfl_采集中有大量记录。这仍然可以,但您为什么要优化?因为页面加载很长时间以获取和显示记录,我认为优化器应该处理它。TBH我不认为查询本身有问题。但可能是从您正在呼叫和处理它的地方,如创建连接等。