Mysql + fmod ?

Tyn

Новичок
Mysql + fmod ?

Имеются 2 таблицы: новостей и ip-адресов
PHP:
SELECT n.inews FROM t1
WHERE ( SELECT ip.views FROM `t2`.`ip` WHERE 1
Пришлось таблицу адресов разбить на 10 таблиц путем fmod('n.inews ', 10)
соотвественно теперь имеем 10 таблиц:
`t2`.`ip0`
`t2`.`ip1`
...
Вопрос: как во 2 Селекте подставлять правильное имя таблицы? Возможно ли так делать?
 

Вурдалак

Продвинутый новичок
Не надо было ничего разбивать, всего лишь добавить дополнительное поле с индексом.
 

Tyn

Новичок
Автор оригинала: Вурдалак
Не надо было ничего разбивать, всего лишь добавить дополнительное поле с индексом.
индексы стоят, 3 млн записей подтормаживает запрос :(
 

Tyn

Новичок
Автор оригинала: Вурдалак
Что ты хочешь вытащить?
Мне нужно выбрать новость для информера которая показывалась пользователю напр. менее 5 раз

Таблица адресов имеет 3 поля: номер новости / кол-во просмотров / ip-адрес

inews views ip3
140 2 1044402958
140 1 1044952869
140 3 1045475495

PHP:
SELECT n.inews FROM t1 WHERE 1 AND
(5 > ( SELECT ip.views FROM `t2`.`ip` ip WHERE (ip.inews = n.inews) AND (ip.ip3 = '$ip2')
 

Вурдалак

Продвинутый новичок
Различать пользователей тут нужно не по IP, а по cookies. Собственно, в них же лучше и хранить массив идентификаторов просмотренных новостей.
 

Tyn

Новичок
Автор оригинала: Вурдалак
Различать пользователей тут нужно не по IP, а по cookies. Собственно, в них же лучше и хранить массив идентификаторов просмотренных новостей.
В принципе согласен, но размер массива ид-новостей может быть большим... Вроде кукисы имеют ограничения?
 

dimagolov

Новичок
ну храни в куке уникальный id пользователя и его ищи. только храни в числовом а не текстовом индексированном поле.

но если ты будешь ip хранить в int-е, а не в строке, то у тебя поиск и по ip не будет тормозить.
 

Вурдалак

Продвинутый новичок
Tyn
Так и храни не все просмотренные, а последние сто, скажем. В задачах подобного рода обычно точностью пренебрегают.

-~{}~ 07.02.10 01:01:

Это задача того же рода, что и реализация «новых сообщений» на форуме. Идеализированный её вариант крайне непрактичен...
 
Сверху