Moja aplikacja często potrzebuje do dekoracji wartości w dokumentach, którym służy za pomocą odnośnika do pobierania zabiorą czytelne dla człowieka formy różnych kodów.Co jest najbardziej wydajnym sposobem przechowywania pary nazwa/wartość w bazie danych Marklogic
Na przykład <product_code>PC001</product_code>
chciałby być zwracane jako <product_code code='PC001'>Widgets</product_code>
. Nie zawsze jest to kod produktu; istnieje kilka różnych typów kodu, które wymagają podobnego zachowania (niektóre z nich mają zaledwie kilkadziesiąt przykładów, niektóre z nich kilka tysięcy).
Co chcę wiedzieć, jaki jest najskuteczniejszy sposób przechowywania tego dane w bazie danych? Mogę myśleć o dwóch możliwości:
1) wpis od rodzaju kodu, z wielu elementów:
<product-codes>
<product-code code = "PC001">Widgets</product-code>
<product-code code = "PC002">Wodgets</product-code>
<product-code code = "PC003">Wudgets</product-code>
</product-codes>
2) Jeden dokument na kodzie, z których każda zawiera element <product-code>
jak wyżej.
(Oczywiście, obie opcje obejmowałyby indeksy sensowne)
Czy którykolwiek z nich zauważalnie szybciej niż inne? Czy istnieje inna, lepsza opcja?
Mam wrażenie, że ogólnie lepiej jest zachować jedną "rzecz" w jednym dokumencie, ponieważ jest ona nieco bardziej czysta i (jak rozumiem) lepiej pasuje do indeksowania ML, ale w tym przypadku wydaje się, że doprowadziłoby to do bardzo dużej liczby bardzo małych plików. Czy to jest coś, o co powinienem się martwić?