2012-11-24 7 views
2

Après que le tableau mnesia a été établi, d'autres requêtes ont été ajoutées. Certaines exigences nécessitent plus d'un élément des enregistrements de la table. D'après les documents, il est connu que le deuxième index ne peut être établi que sur un élément.mnesia match_object vs index complexe

add_table_index(Tab, AttrName) -> {aborted, R} | {atomic, ok} 

Je me inquiète la vitesse de fonctionnement match_object lorsque la quantité d'enregistrement augmentent considérablement s'il n'y a pas d'index.

Y at-il une solution pour ce genre de problème?

Répondre

2

L'astuce consiste à faire en sorte que Mnesia utilise votre nouvel index. Soit en appelant manuellement la recherche indexée puis en effectuant une correspondance sur la clé de l'objet, soit en utilisant une requête QLC. Je ne me souviens pas de match_object utilise les index par défaut. Vous devriez tester cela.

+0

Merci beaucoup pour vos conseils. –