0
JOINED 테이블에서 파생 된 ORDER BY를 추가하면 쿼리를 실행하는 데 걸리는 시간이 0.008 초에서 0.50 초로 늘어납니다.주문 시간 on join 날짜가
SELECT a.productid
FROM products a
JOIN products_lng b FORCE INDEX (primary)
ON a.productid = b.productid
AND b.code = 'US'
JOIN pricing c
ON c.productid = a.productid
JOIN thumbnails d
ON d.productid = a.productid
JOIN bigthumbnails e
ON e.productid = a.productid
JOIN products_categories f
ON f.productid = a.productid
WHERE a.forsale = 'Y'
GROUP BY b.productid
ORDER BY b.product
설명 계획 :이 조합 있다는 것으로 나타나 결국
CREATE TABLE `products_lng` (
`code` varchar(2) CHARACTER SET latin1 NOT NULL DEFAULT '',
`productid` int(11) NOT NULL DEFAULT '0',
`product` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',
`descr` varchar(512) CHARACTER SET latin1 NOT NULL,
`full_descr` varchar(1024) CHARACTER SET latin1 NOT NULL,
`processed` varchar(1) CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`code`,`productid`,`product`),
KEY `ad` (`code`,`productid`,`product`,`descr`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
이것은 MySQL이 기본 키를 이미 사용했기 때문에 다른 인덱스를 사용하지 않기 때문에 발생합니다. –
"PRIMARY"색인에 "product"필드를 추가하면 더 많은 시간이 걸립니다. – bicycle
사실, 왜 'a'테이블을 사용하고 있습니까? 너는 필요 없어. –