dummy2002 Виноват, копипаст попутал… должно быть NULL DEFAULT 0 и в random_events INDEX ( event_timestamp )
Что касается data flow:
В течении суток происходят события (не чаще, чем один раз в минуту). В таблицу experiments они могут быть записаны только после окончания суток. В течении дня в таблицу random_events записываются события из других источников, причем в одну и туже минуту могут произойти несколько событий. Таблица experiments и random_events не имеют между собой никакой другой связи, кроме оси времени. И да, Вы абсолютно правы, «Нормальной формы» тут нет.
А чем вызвана необходимость привязки к имени соединения? Или у Вас не один модем в комп воткнут? Живых com портов, которые можно открыть и записать туда AT будет в системе не так уж и много, можно все их и перебрать
Да, конечно, если Вам требуется простой учет аудитории, то имеет смысл воспользоваться советом, который привел nazarpc ниже. Мой способ нужен только в том случае, когда необходимо анализировать события, происходящие на сервере. К слову сказать, счетчики на страницах не учитывают заходы ботов, а про них бывает полезно знать.
Ну, раз такое дело, то остается попробовать только следующее — добавить новое поле date_visited_timestamp UNSIGNED INT и сделать UPDATE date_visited_timestamp = UNIX_TIMESTAMP(date_visited) построить по этому полю индеск и изменить запрос на date_visited_timestamp BETWEEN UNIX_TIMESTAMP('2013-05-01 00:00:01') AND UNIX_TIMESTAMP('2013-07-18 23:59:59')
Да, и еще один вариант — попробуйте в запросе уйти от BETWEEN, заменив его на два СТРОГИХ (больше, меньше) условия (только даты начала конца немного подправьте)
А… елки… индекс по ipaddress есть?
Может я заблуждаюсь, но ваш запрос можно переписать следующим образом
SELECT COUNT(*) AS uniquenotcloaked
FROM
WHERE
GROUP BY ipaddress
серверу же надо как-то сравнивать ipaddress для посчета одинаковых значений
Попробуйте убрать DISTINCT для теста, как изменится скорость работы?
Я не поленился и вступил с ними в переписку по поводу этого вопроса. После долгих уточнений выяснилось, что, увы, вот именно такой сервис у них отсутствует :( Хотя, казалось бы, все составляющие у них для этого есть…
Интересно, на чем Вы в итоге остановили свой выбор?
серверный (слушающий сокет) всегда один и тот же, но вот вызов accept для него, возвращает сокет конкретного соединения с клиентом, если я правильно понял Ваш вопрос
А почему владелец сайта вообще начинает торговать тем, на что у него нет прав и не делясь при этом доходом с законным правообладателем? Или Вы считаете, что так и должно быть? Мне кажется, что должно быть наоборот — сначала получить подтверждение прав, а потом заниматься коммерцией…
В конце концов, у Вас то точно нет никаких прав на этот контент, так пусть это будет чьей-то чужой проблемой, а не Вашей.
О каких конкурентах Вы говорите, о конкурентах Вашего ресурса, «промышляющих» нелегальным контентом или о конкурентах автора?
Если первое, то Вы легко это определите и защитите свои интересы просьбой документально подтвердить правообладание. Если второе, то Вам точно не должно быть никакого дела до этого, вы же не собираетесь в правосудие играть. А серьезный «жулик» при желании и необходимости подделает любой документ, тем более Вы просите всего-лишь электронную копию.
Что касается data flow:
В течении суток происходят события (не чаще, чем один раз в минуту). В таблицу experiments они могут быть записаны только после окончания суток. В течении дня в таблицу random_events записываются события из других источников, причем в одну и туже минуту могут произойти несколько событий. Таблица experiments и random_events не имеют между собой никакой другой связи, кроме оси времени. И да, Вы абсолютно правы, «Нормальной формы» тут нет.