Ip multiaccount checker PHP (Нахождение дубликатов пользователей по IP)

120
16 июля 2019, 08:20

Подскажите, пожалуйста, Есть таблица Access-Log пользователей, вида "User ID" "IP" "Date". Возможно ли найти все дубликаты-мультиаккаунты в ней без огромной нагрузки на mySQL запросами и большой нагрузкой на сервер? Не могу подобрать оптимальный алгоритм, все что придумываю - долго обсчитывается или создает огромную нагрузку на MySQL.

Пример (логи захода):
"10" "155.166.11.2" "2018-01-22 13:08:36"
"122" "127.0.0.1" "2018-01-22 13:19:00"
"13" "144.11.11.4" "2018-01-31 17:16:56"
"10" "127.0.0.1" "2018-01-31 17:26:35"
"99" "155.166.11.2" "2018-01-31 17:26:55"
"13" "12.11.22.4" "2018-01-31 17:43:56"
"18" "145.106.11.2" "2018-01-31 18:50:18"
"11" "144.11.11.4" "2018-01-31 18:54:18"


Result:
"10, 99, 122" - один и тот же пользователь.
"11, 13" - один и тот же пользователь.

Answer 1
select ip, group_concat(distinct id)
  from `Access-Log`
 group by ip
having count(distinct id)>1

Но наргрузка конечно большая будет, как ни крути а всю таблицу целиком прочитать и отсортировать надо. Наличие индекса по полю ip возможно ее снизит. Если это часто делается то надо задумываться о том, что бы хранить эту информацию отдельно.

И конечно надо понимать, что одинаковый ip еще не говорит о том, что это тот же пользователь. Может он через мобильного оператора выходит, а они ip у пользователя меняют 10 раз на дню и что самое неприятное один и тот же ip выдают множеству разных пользователей. Да и операторы стационарной связи так же могут выдавать ip как угодно, включая одновременный выпуск в интернет сотен пользователей с одним адресом.

READ ALSO
C++ Как сравнить два массива типа char?

C++ Как сравнить два массива типа char?

Нужно ввести группуДалее перебрать структура, найти запись с совпадающей группой и вывести её

135
Ошибка с OpenAL. no saved enable hardware sample rate converter preference found

Ошибка с OpenAL. no saved enable hardware sample rate converter preference found

Работаю на Mac, использую XcodeЯ решил попробовать поработать с библиотекой alut

204
WinApi MoveFile - корректное слияние двух папок

WinApi MoveFile - корректное слияние двух папок

Подскажите как корректно слить две папки

131