我有一个问题。在本地数据库中,它返回静态价格 - preco,preco_boleto(总是相同);已经生产(远程)这些价格几乎在每次执行时都在变化。
它是相同的代码,查询和数据库。
本地数据库版本:5.6.27 - MySQL社区服务器(GPL)
生产数据库版本:5.6.30-76.3-log - Percona Server(GPL),版本76.3,修订版3850db5
QUERY:
SELECT
concat_ws(' ',
`f`.`descricao`,
concat_ws(' ', ccc.descricao)) as descricao,
concat(concat(ccc.fan_rpm_minimo,
' - ',
ccc.fan_rpm_maximo),
' RPM') as rpm,
concat(concat(round(ccc.nivel_ruido_minimo, 1),
' - ',
round(ccc.nivel_ruido_maximo, 1),
' dbA')) as ruido,
`ccc`.`nivel_ruido_maximo` as `ruido_padrao`,
`ccc`.`slug`,
`cor`.`descricao` as `cor`,
`h`.`hash`,
`hp`.`preco`,
`hp`.`preco_boleto`
FROM
`cooler_cpu` `ccc`
INNER JOIN
`fabricante` `f` ON `f`.`fabricante_id` = `ccc`.`fabricante_id`
LEFT JOIN
`cor` ON `cor`.`cor_id` = `ccc`.`cor_id`
LEFT JOIN
`hash` `h` ON `ccc`.`hash_id` = `h`.`hash_id`
LEFT JOIN
(select
hp.peca_id, hp.preco, hp.preco_boleto, hp.link
from
historico_preco hp
where
peca_tipo_id = 2
and execucao_id = (select
max(execucao_id)
from
historico_preco)
and preco is not null
order by hp.preco asc) hp ON `hp`.`peca_id` = `ccc`.`cooler_cpu_id`
WHERE
(`checado_basico` = 1
or `checado_completo` = 1)
GROUP BY `ccc`.`cooler_cpu_id`
ORDER BY ISNULL(1) , 1 ASC
LIMIT 50
表格结构:
CREATE TABLE `historico_preco` (
`historico_preco_id` int(11) NOT NULL AUTO_INCREMENT,
`peca_tipo_id` int(11) NOT NULL,
`loja_id` int(11) NOT NULL,
`peca_id` int(11) NOT NULL,
`execucao_id` int(11) NOT NULL,
`parcela` int(11) DEFAULT NULL,
`preco` decimal(8,2) DEFAULT NULL,
`preco_boleto` decimal(8,2) DEFAULT NULL,
`link` varchar(2100) DEFAULT NULL,
`data` datetime DEFAULT NULL,
PRIMARY KEY (`historico_preco_id`),
KEY `fk_preco_loja1_idx` (`loja_id`),
KEY `fk_historico_preco_peca_tipo1_idx` (`peca_tipo_id`),
CONSTRAINT `fk_historico_preco_peca_tipo1` FOREIGN KEY (`peca_tipo_id`) REFERENCES `peca_tipo` (`peca_tipo_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_preco_loja1` FOREIGN KEY (`loja_id`) REFERENCES `loja` (`loja_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=34611 DEFAULT CHARSET=latin1