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) –