Quelles sont les différences entre une table de type set et une table de type ordered_set? Je m'intéresse aux différences dans les performances de lecture/écriture, sur quoi repose la commande, aux effets sur les nœuds distribués, etc.Différences entre set et ordered_set dans Mnesia?
Répondre
La commande est basée sur la clé primaire, ce qui signifie que les tables ordered_set sont beaucoup plus rapides à faire correspondre/sélectionner l'itération à l'aide de clés primaires complexes. Par exemple, si votre enregistrement ressemble à {{Key, Val1}, Val2}
, vous pouvez faire correspondre ou sélectionner sur Key
pour obtenir très rapidement Val1
et Val2
pour chaque occurrence de Key
. À part cela, je ne suis pas au courant d'une différence significative dans la vitesse de lecture/écriture.
Il est également possible de fragmenter des tables ordered_set, bien que cela signifie que l'itération sera partiellement ordonnée, mais pas entièrement ordonnée. L'itération sur un seul fragment est ordonnée, mais l'ordre d'un fragment à l'autre n'est pas défini.
jusqu'à la commande passe de la source:
add_element(E, [H|Es]) when E > H -> [H|add_element(E, Es)];
add_element(E, [H|_]=Set) when E < H -> [E|Set];
add_element(_E, [_H|_]=Set) -> Set; %E == H
add_element(E, []) ->[E].
Ainsi, la commande ressemble à une < droite ou> comparaison sur l'élément.
En plus de la commande, c'est exactement la même chose que l'ensemble. Donc, je risque de deviner que pour les éléments de moins "valeur", les recherches seraient plus rapides en moyenne que l'ensemble. Mais à part ça, je ne suis pas sûr.
Comme Erlang est indépendant du processus et ne permet pas de modification variable, les effets sur les nœuds répartis doivent être identiques à ceux des nœuds locaux.
caveat:
Je n'ai pas exécuter une analyse comparative sur les deux types est donc ce spéculation de ma part en ce qui concerne la performance.
ok donc évidemment je n'ai pas assez lu la question. C'est en ce qui concerne les tables Mnesia pas le type de données lui-même. N'hésitez pas à me moduler. –
- 1. Différences entre ado et bde
- 2. Différences entre Smalltalk et python?
- 3. Différences entre JPA et JPA2
- 4. Différences entre BasicRenderEngine et LazyRenderEngine?
- 5. Différences entre Exception et Erreur
- 6. Différences entre App.Config et Web.Config?
- 7. Différences entre Java et C# et .NET
- 8. Différences WxPython entre Windows et Linux
- 9. Différences d'implémentation entre Zend_Rest_Server et Zend_Rest_Controller
- 10. Différences entre Silverlight 2.0 et 3.0
- 11. Oracle Différences entre NVL et Coalesce
- 12. Différences entre SQL Plus et SQL "normal"?
- 13. Différences C# différant entre VS2008 et IIS6
- 14. différences entre Msxml2.ServerXMLHTTP et WinHttp.WinHttpRequest?
- 15. différences entre nhibernate 1.2 et 2.0
- 16. différences entre StringBuilder en Java et C#
- 17. différences entre smack, amadou et whack
- 18. Développement Différences d'investissement entre iPhone et Symbian
- 19. Différences entre .NET 3.0 et 3.5?
- 20. Différences dans l'héritage de modèle Django entre 0,96 et 1,0?
- 21. Différences entre deux requêtes analytiques
- 22. Quelle est la différence entre SELECT et SET dans T-SQL?
- 23. Quelles sont les différences de rendu entre FF2 et FF3?
- 24. Différences de rendu entre Firefox 3.0 et 3.5
- 25. Différences entre ElementName = "<Me>" et RelativeSource self?
- 26. Différences de couleur entre les images et le html
- 27. Bibliothèques C++ non gérées - différences entre VS2005 et VS2008?
- 28. Différences entre DEV et PRO en utilisant/usr/sap/trans
- 29. Différences entre les contrôles WPF Frame et WebBrowser
- 30. Expliquez les différences entre ImageMagick sous Windows et CentOS linux?
Je suppose que vous voulez des expériences du monde réel puisque la documentation sur les modules explique assez bien les différences? –
Oui, mais pourriez-vous lier à la documentation dont vous parlez? Les documents que j'ai lus ne vont pas beaucoup en profondeur. – mindeavor