Нет необходимости использовать LIMIT.
Однако ... Если у вас на столе ОГРОМНО ОГРОМНОЕ ОГРОМНОЕ количество элементов (и вас беспокоит скорость), вы можете подумать о том, чтобы не использовать специальное ограничение UNIQUE в БД и управлять им из своего приложения. Затем вы можете указать ИНДЕКС только для первых нескольких символов вашего поля имени пользователя. Это резко сократит размер вашего индекса, будучи уверенным, что все это помещается в ОЗУ, и, возможно, ускорит ваши запросы.
Итак, вы можете попробовать:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(32) NOT NULL,
`username` varchar(16) NOT NULL,
`password` char(32) NOT NULL,
PRIMARY KEY (`id`),
KEY `username` (`username`(4))
);
в качестве альтернативы, если ваша первая попытка окажется слишком медленной. Это означает, что вам, конечно, нужно проверять дубликаты имен пользователей перед вставкой, но вам, вероятно, придется делать это в любом случае, чтобы сообщить пользователю, что ему нужно выбрать другое имя пользователя.
В зависимости от того, какой сервер БД и какой движок вы используете, также может быть быстрее указать поля фиксированной ширины для всех ваших строк. Вместо varchar используйте char .