Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.06;
Скачать: CL | DM;

Вниз

[mysql] Лог скачиваний   Найти похожие ветки 

 
Kerk ©   (2007-02-17 16:10) [0]

Нужно подсчитывать количество скачиваний файлов. С одного айпи засчитывается только одно скачивание конкретного файла.

Нужно оптимизировать процесс с точки зрения нагрузки на сервер и быстродействия.

Вижу такие варианты?

I
0) есть табличка DOWNLOADS (ID, FILE_ID, IP)
1) запрос юзером uIP файла uFILE_ID
2) select * from DOWNLOADS where IP=uIP and FILE_ID=uFILE_ID
2а) если вернуло 0 строк, то insert ....
3) отдать файл

II
0) есть таблички DL_COUNT (ID, FILE_ID, COUNT) и DL_LOG (ID, FILE_ID, IP)
1) запрос юзером uIP файла uFILE_ID
2) insert into DL_LOG...
3) отдать файл
раз в N минут:
4) select DISTINCT * from DL_LOG
5) соответствующе проинкриментировать данные в DL_COUNT

III
0) есть табличка DOWNLOADS (ID, FILE_ID, IP) c уникальным ключем на поля (FILE_ID, IP)
1) запрос юзером uIP файла uFILE_ID
2) insert into DOWNLOADS .... тупо игноря ошибку unique key violated (или как там?) в случае чего
3) отдать файл юзеру

IV
еще вариант аналогичный II, но DL_LOG заменить на текстовый лог

Какой вариант предпочтительнее? Может еще есть варианты?


 
Johnmen ©   (2007-02-17 19:04) [1]

III



Страницы: 1 вся ветка

Текущий архив: 2007.05.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
11-1155058319
Stals
2006-08-08 21:31
2007.05.06
Как прицепить словарь от Microsoft Office


11-1158055111
[e]Bu$ter
2006-09-12 13:58
2007.05.06
Как отловить потерю фокуса у формы


2-1176786168
s.k
2007-04-17 09:02
2007.05.06
положение чужого окна


2-1176841273
Dlh
2007-04-18 00:21
2007.05.06
Считать числа и преобразовать.


15-1175845292
stone
2007-04-06 11:41
2007.05.06
Вся наша жизнь игра