5
W Solr DIH data-config.xml, lepiej sprowadzić jak najwięcej pól, jak to możliwe z kwerendy w głównym podmiotem z JOIN jak:Solr DataImportHandler - JOIN vs. odrębnego podmiotu
<entity name="Lists"
pk="l.list_id"
query="SELECT l.list_id AS id, l.user_id, lo.is_votable FROM lists l
INNER JOIN list_options lo ON lo.list_id = l.list_id">
lub użytkowania osobny sub-podmiot jak:
<entity name="Lists"
pk="l.list_id"
query="SELECT l.list_id AS id, l.user_id FROM lists l">
<entity name="ListOptions"
query="SELECT lo.is_votable FROM list_options lo
WHERE lo.list_id=${Lists.id}" />
</entity>
Tak. Potwierdziłem to, testując. Zatrzymałem jedną jednostkę na stole. Czy główne zapytanie plus 11 zapytań w pod-podmiotach. Każda jednostka otworzyła osobne połączenie klienta z bazą danych. Po przeniesieniu 7 zapytań podelementów do głównej kwerendy za pomocą JOIN (jeden do jednego), nastąpiła 3-krotna poprawa szybkości indeksowania. – arun
Funkcja pod-obiektów jest prawie bezużyteczna z powodu powolności. –