Форум: "Базы";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Вниз[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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.043 c