Разделение хранилища строк сущности NHibernate по нескольким таблицам - PullRequest
0 голосов
/ 23 ноября 2010

В нашей настройке NHibernate у нас есть объект Listing. Из соображений производительности БД мы хотим разбить хранилище на несколько таблиц по странам (как настроен сайт, никто не может искать в более чем одной стране за раз). Итак, Listing_US, Listing_FR и т. Д.

Два вопроса, первый гораздо важнее второго:

  1. Есть ли способ, которым NHibernate может сделать это отображение для меня? Предположительно, оно будет основано на внутреннем поле, которое генерируется в Get () (где я передаю код страны или, возможно, интегрирую его в первичный ключ?), А затем читаю в Save ().

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

РЕДАКТИРОВАТЬ: Я только что понял, что это будет хаос с попыткой сделать выбор. Очевидно, что поскольку я не хочу каждый раз запрашивать каждую таблицу (может разрушить это преимущество в производительности), мне понадобится какая-то сущность Listing_XX, но, возможно, она может наследоваться от общего списка? Однако я не уверен, как это отразится на отображении XML.

Ответы [ 2 ]

0 голосов
/ 29 мая 2012

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

0 голосов
/ 23 ноября 2010

Вы можете попробовать NHibernate Shards (источники в http://sourceforge.net/projects/nhcontrib/)

...