nick='_shareban_'
Closed this issue · 3 comments
В базу идет запрос вида
select share_size, note_usr, note_op, reason, nick_op, last_hit, date_limit, date_start, range_to, range_fr, host, ban_type, nick, ip from banlist where ((nick='_shareban_' AND share_size = '1234554321')) and ((`date_limit` >= 1678265615) or (`date_limit` is null) or (`date_limit` = 0)) order by `date_limit` desc limit 1
я предполагаю, что обычно такой бан не используют.
предлагаю проверить, что таких записей в таблице нет и более не слать такой запрос.
не часто используют, согласен, но и не реже чем hostban например. запрос довольно тяжелый для сервера, тоже согласен, в особенности последняя часть сортировки и возвращения самого свежего бана. но такой функционал имеется в верлике - бан по шаре. во первых я увидел что нулевая шара тоже проверяется - минус пару запросов в корзину, но если честно не помню, нарочно так было сделано или нет. во вторых ник проиндексирован, и если индекса shareban не существует, мускул сразу вернет ноль. далее date_limit который тоже проиндексирован. нулевую шару исправлю, а остальное требуется для функционала.
ну а если проверить при старте один раз, что таблица banlist вообще пустая и не слать запросы к ней (пока не будет insert)? у KCAHDER именно так и есть, а хаб крупный.
я не видел хаба без банов, у ксандера в том числе. я конечно тебе очень сильно благодарен за твои усилия, и многие из них рельно полезны, но в данном случае уже перебор :-D поправь пожалуйста вот этот баг в флае > pavel-pimenov/flylinkdc-r6xx#50 < не можем уже смотреть на повторяющиеся описания, половина верликов засраны ими