Rails: эффективный метод для сопоставления поддоменов в базе данных? - PullRequest
1 голос
/ 08 октября 2010

Мы разрешаем пользователям добавлять домены в активную модель записи, такую ​​как User.domain, и находить пользователей по доменам, используя User.find_by_domain.

В будущем мы хотим разрешить пользователям вводить * .example.com в качестве своего домена и разрешить работу User.find_by_subdomain ('sub1.example.com') и User.find_by_subdomain ('sub2.example.com').Однако мы также хотим, чтобы example.com напрямую соответствовал example.com, если пользователь не использует подстановочный знак, такой как * .example.com, в модели.Нам нужно будет сказать, что User.find_by_subdomain ('sub1.example.com') не User.find_by_subdomain ('*. Example.com')

Это также должно работать с доменами, такими как sub.example.co.uk, и в идеале нам бы хотелось эффективный запрос, который мог бы выполняться в базе данных.Было бы неплохо избегать запросов к базе данных, но Postgres - это текущая производственная база данных.

Заранее спасибо, поскольку мы немного ломали голову над этим.

1 Ответ

1 голос
/ 16 октября 2010

Попробуйте как оптимизацию:

http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks#LIKE_optimalization

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