REVERSE () адреса электронной почты перед сохранением / индексацией или нет? - PullRequest
2 голосов
/ 02 ноября 2011

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

Что имеет больше смысла с точки зрения производительности: хранить обратные адреса, то есть 'moc.liamg@tset' или сохранять их прямыми, т.е.'test@gmail.com'?

1 Ответ

1 голос
/ 02 ноября 2011

Если вы регулярно запрашиваете частичные почтовые домены (то есть часть после @), обращение может иметь некоторый смысл в индексированном столбце.

Таким образом механизм БД можетиспользуйте индекс с такими запросами:

... WHERE ReverseMail LIKE REVERSE('.com') + '%'

Если вы в большинстве случаев запрашиваете полных доменов , просто создайте отдельный столбец, который содержит только домен, и индексируйте этот.Поиск в индексе для оператора = будет быстрее, чем в операторе LIKE.

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