1. Мне кажется, что этот пункт будет при большой базе довольно затратным, особенно если искать так: WHERE login LIKE "%dima%".
Как по мне лучше сперва создать список предложений, а потом проверить какие из них есть в базе: WHERE login in ('...', '...', ...)