2013-12-12 3 views
0

Я использую select query во время входа в систему, есть лучший способ проверить имя пользователя и пароль. Потому что я проверяю имя пользователя и пароль в целом таблице, это процесс, требующий много времени, если у меня есть 1000000000 или более записей, тогда может быть проблема. Если все пользователи одновременно регистрируются, тогда обычный запрос выбора неэффективен. Я использую свой sql и scala для разработки моего проекта в колледже.Есть лучший способ выбрать команду во время входа?

select username from loginTable where id='xyz' and userName='john' 
+4

Ваш запрос должен работать. Убедитесь, что вы создаете индексы для столбцов, которые вы используете в предложении WHERE. – Nishan

+0

Обычно я использую это тоже. Интересно узнать, есть ли другой способ сделать это? – Baby

+0

Какое значение имеет столбец «id»? Имеет ли он те же данные, что и «userName»? –

ответ

2

Поскольку я проверяю имя пользователя и пароль в целом таблице, процесс занимает много времени, если у меня есть 1000000000 или более записей, тогда может возникнуть проблема.

Именно для этих индексов. Если у вас есть указатель на id, база данных не будет должна проверить всю таблицу для запроса, который включает в себя where id='...'. И если id является первичным ключом или, по крайней мере, уникальным, он автоматически будет иметь индекс.

1

Вместо * убедитесь, что вы выбрали только те столбцы, которые вам действительно нужны. Кроме того, убедитесь, что ваша таблица проиндексирована.

+0

* является примером. мой запрос - это select id, password from loginTable, где id = '1' и password = '123'. любая оптимизация или любой способ, который делает быстрый выполнение. – user3024753

Смежные вопросы