0
什麼將是指數的最佳方式:索引SQL查詢
select bus.business_id, bus.latitude, bus.longitude,
(
SELECT sum(checkin_count)
FROM yelp.checkin
WHERE business_id = chk.business
) AS checkin_count
from yelp.business bus
order by bus.business_id
limit 10;
我想指數這樣說:
ALTER TABLE yelp.business ADD INDEX latitude_longitude_count_ndex (business_id, latitude, longitude);
,但它走很長的(即我跑這過夜並在大約2小時後丟失連接)。
我在MySQL中運行這個。
方的問題,因爲這讓我進入索引,是有什麼原因,這段代碼:
select bus.business_id, bus.latitude, bus.longitude, sum(chk.checkin_count) as checkin_count
from yelp.business bus
inner join yelp.checkin chk
on bus.business_id=chk.business_id
group by bus.business_id, bus.latitude, bus.longitude
order by bus.business_id
limit 10;
是要花這麼長時間來查詢? 即使我將限制改爲1,也需要很長時間。 4分鐘後我終於停止了,但我有一種感覺,它不應該花那麼長時間。
我建議可能加速[_here_]。如果這還不夠,請提供'SHOW CREATE TABLE'和'EXPLAIN SELECT ...'。 –
謝謝。我不認爲這裏有一個超鏈接,但它現在似乎工作。 – mmv456
糟糕 - [在您的其他問題_](http://stackoverflow.com/a/43750755/1766831) –