J'ai un modèle Lexicon, et je veux que l'utilisateur soit capable de créer une fonctionnalité dynamique pour chaque lexique.champs de recherche dynamiques, meilleure pratique?
Et j'ai une interface de recherche compliquée qui permet à l'utilisateur de rechercher sur chaque caractéristique (y compris les caractéristiques dynamiques) appartenait au modèle Lexicon.
J'aurais pu utiliser un champ de texte sérialisé pour sauvegarder toutes les informations dynamiques si elles ne sont pas destinées à la recherche.
Si je souhaite que l'utilisateur effectue une recherche sur tous les champs, j'ai créé un modèle DynamicField pour contenir toutes les entités créées dynamiquement. Mais imaginez que j'ai 1 000 000 000 de lexique, et si on crée une fonctionnalité dynamique pour chaque lexique, cela créera 1 000 000 000 de lignes dans le modèle DynamicField. Par conséquent, la fonction de recherche sql deviendra très inefficace tout en créant de nombreuses fonctionnalités dynamiques.
Y a-t-il une meilleure solution pour cette situation?
De quel côté dois-je prendre?
la recherche d'une meilleure conception db pour les champs dynamiques
essayer d'accordage mysql (ajouter des champs de cache, ajoutez l'index ...) avec la conception actuelle db
1. Comment vos tables DB (ou modèles Rails) sont-elles en ce moment? Peut-être un instantané de code? 2. Quel genre de requêtes voulez-vous soutenir? (ÉGALE, IN, PAS DANS, COMME, PLUS GRAND QUE, etc.) –
Le modèle de conception que vous pourriez vouloir aller est: http://en.wikipedia.org/wiki/Entity-attribute-value_model – DJTripleThreat
Ordinaire, le type de la recherche je veux mettre en œuvre est comme, moins de, plus grand que, dans, égal, pas dans – boblu