aetsyss
Новичок
Добрый день!
есть БОЛЬШАААААЯ таблица с треками (координатами) gps маяков.
грубо говоря:
CREATE TABLE tracks(
org_id SMALLINT(6) UNSIGNED NOT NULL,
obj SMALLINT(6) UNSIGNED NOT NULL,
mydatetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
shir DOUBLE UNSIGNED NOT NULL,
dolg DOUBLE UNSIGNED NOT NULL... ... ...)
соответственно id организации, номер маячка, датавремя посылки, широта и долгота.
необходимо, чтобы в приемлемые сроки можно было вытащить трек по определенному объекту например за сутки, т.е. что-то типа:
SELECT * FROM tracks
WHERE org_id = 12345 AND obj = 6789
AND mydatetime BETWEEN '2013-02-15 00:00:00' AND '2013-02-15 23:59:59'
ORDER BY mydatetime;
на текущий момент выбрана подсистема хранения InnoDB и создан индекс (org_id, obj, mydatetime)
тем не менее время выполнения запроса неприлично растет пропорционально объему таблицы.
что можно предпринять?
есть БОЛЬШАААААЯ таблица с треками (координатами) gps маяков.
грубо говоря:
CREATE TABLE tracks(
org_id SMALLINT(6) UNSIGNED NOT NULL,
obj SMALLINT(6) UNSIGNED NOT NULL,
mydatetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
shir DOUBLE UNSIGNED NOT NULL,
dolg DOUBLE UNSIGNED NOT NULL... ... ...)
соответственно id организации, номер маячка, датавремя посылки, широта и долгота.
необходимо, чтобы в приемлемые сроки можно было вытащить трек по определенному объекту например за сутки, т.е. что-то типа:
SELECT * FROM tracks
WHERE org_id = 12345 AND obj = 6789
AND mydatetime BETWEEN '2013-02-15 00:00:00' AND '2013-02-15 23:59:59'
ORDER BY mydatetime;
на текущий момент выбрана подсистема хранения InnoDB и создан индекс (org_id, obj, mydatetime)
тем не менее время выполнения запроса неприлично растет пропорционально объему таблицы.
что можно предпринять?