2014-10-12 2 views
0

Итак, я много думал о способах проверки того, является ли username uniqe для новых пользователей или если его изменение для существующего пользователя. Моей главной задачей была бы производительность, поскольку пользовательские данные могут быть загружены через csv, и я считаю, что создание 1000 запросов для проверки (при условии загрузки 1 k) не является хорошим способом.Подтверждение имени пользователя уникальности

На данный момент я издеваюсь над реализацией хранилища, реальные данные получают доступ через мыло. Я ищу любые предложения для принятия этой проверки. Я уже делал что-то подобное, запрашивая всех пользователей и зацикливая список, но код выглядит довольно уродливо. Приложение находится на последней весне. Благодарю.

+0

В зависимости от того, как вы выполняете проверку уникальности, можно было бы проверить сразу несколько имен (например, 20 имен) в виде 'where username in (...)' query. Если вы обнаружите дубликат в нем, вы можете сделать чек для каждого имени пользователя, чтобы найти точный дубликат. Но это зависит от того, как вы выполняете фактическую проверку. –

+0

Я не использую базу данных. Для тестирования данные издеваются. В производстве это происходит через мыло. – Vaelyr

ответ

1

Я считаю, что в какой-то момент вам нужно будет пройти через каждое имя пользователя и определить и выполнить проверку на этом элементе, чтобы узнать, следует ли его отклонить.

Если я правильно понимаю, у вас есть приложение, которое принимает ваши данные и нуждается в его проверке. Это приложение делает вызов веб-службы другому приложению, имеющему хранилище данных?

Если у вас есть контроль над API веб-сервисов между двумя приложениями, которые вы можете изменить, чтобы одновременно отправлять несколько записей. Это уменьшит количество соединений между двумя приложениями.

Что касается того, выполняете ли вы это, как вы описали, или способ, которым я предлагаю, будет существенно отличаться по производительности, я не могу сказать. Есть слишком много факторов, чтобы действительно быть уверенными, пока вы на самом деле его не используете.

+0

Спасибо. Ну, я еще не получил своих конечных точек API, поэтому, к сожалению, я точно не знаю, что я кодирую. В другом бэкэнд есть хранилище данных «да». Я просто хочу сделать реализацию на макет, чтобы быть почти такой же совершенной, как это может быть, чтобы позже выполнить производственную реализацию, которая должна выглядеть довольно похоже. Их бэкенд, вероятно, сможет проверить его во второй раз, но я предпочитаю, чтобы мой бэкэнд делал это хорошо. – Vaelyr

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