Логика формы запроса: «Мне нравится» против «Равно» - PullRequest
4 голосов
/ 29 октября 2010

Наше приложение предоставляет несколько интерфейсов запросов, которые в основном представляют собой просто ввод текста.Есть ли лучший способ выяснить, должна ли логика бэкэнда дополнить параметр запроса подстановочными знаками, а затем выполнить аналогичное действие, или же он должен просто выполнить равенство.Конечно, другой вариант мог бы позволить пользователю использовать подстановочные знаки, а затем проверять и использовать «как», если это необходимо.

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

1 Ответ

2 голосов
/ 29 октября 2010

Это то, что я оставляю на усмотрение пользователя, позволяя затем реально сделать выбор. Все пользовательские интерфейсы, которые я видел для разрешения заданных пользователем условий, имеют:

  • столбец для проверки.
  • раскрывающийся список, содержащий отношения, такие как equal to, not equal to, less than, greater than, starts with.
  • значение, с которым вы хотите сравнить.

Затем, для опции starts with, вы просто набираете % и используете like.

Вы заметите (по причинам производительности, которые, как вам кажется, вы уже поняли), я использовал starts with вместо like, чтобы ограничить возможность снижения производительности базы данных.

Я не большой поклонник неограниченных like операторов, хотя вы также можете предоставить ends with для тех СУБД, которые способны хранить обратные индексы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...