Как оптимизировать КЭШ? (Size 2,20 GB. Size on disk 5,40 GB)

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модераторы: Tolik, zed

Re: Как оптимизировать КЭШ? (Size 2,20 GB. Size on disk 5,40 GB)

Сообщение Uri » 22 мар 2010, 14:39

Поступило интересное офлайновое предложение. Так как z (zoom) меняется ну очень редко, то его все-таки не вносить в общее поле.
Сделал так:

Код: Выделить всё
DROP TABLE IF EXISTS `tiles`;
CREATE TABLE `tiles` (
    zoom  INTEGER  -- z (zoom)
,   xy    INTEGER  -- x, y
,   tile  BLOB     -- картинка
);
CREATE UNIQUE INDEX tiles_index ON tiles(zoom, xy);
--------
SELECT tile FROM tiles WHERE zoom=? AND xy=? LIMIT 1
Uri
Новичок
 
Сообщения: 4
Зарегистрирован: 20 мар 2009, 13:39
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Как оптимизировать КЭШ? (Size 2,20 GB. Size on disk 5,40 GB)

Сообщение Parasite » 22 мар 2010, 18:23

feya писал(а):
Имхо, потери времени на обработку этого алгоритма в обе стороны - сведут на нет увеличение быстродействия базы на одном int'е вместо трех.

Не, никаких существенных затрат времени не будет.

Как и существенной задержки при выборке по трем интам находящимся в одном индексе. :) Особенно при малых базах, полностью влезающих в оп.память (хотя бы индексами).
Операции с битмапами дольше занимают...

PS: себе уже давно сделал кэш в БД. Сейчас делаю гейт "кэш_ГЕ_(в_базе)->САС" + веб-морду к ГЕшному кэшу по типу ГМ.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

Пред.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

cron