2013-08-19 4 views
1

Je développe une application web Rails 3.2 et j'utilise la gemme Acts_as_tenant comme pour la multi-location. En utilisant cette gemme, je dois ajouter un champ appelé account_id à tous mes modèles. Donc quand je fais ce Project.find (1) il utilise une portée de sorte que account_id soit toujours dans la requête. Ma question est la suivante:Utiliser les index composés lorsque j'utilise Acts comme locataire

Dois-je ajouter un index composé au modèle de projet? Puisque je suis à la recherche avec à la fois account_id (gem fait ça) et project_id show j'ai un index avec ces deux ensemble? En ce moment j'ai des index individuels sur chaque champ.

Répondre

1

J'ai trouvé ceci pour être une ressource assez bonne au sujet de l'indexation - mais avant de le lire j'étais assez paumé. Je pense que cela dépend de votre compréhension actuelle. C'est un peu vieux, mais l'idée générale n'a pas changé ... vérifiez!

https://tomafro.net/2009/08/using-indexes-in-rails-index-your-associations

et celui-ci qui porte spécifiquement sur l'indexation composé -

https://tomafro.net/2009/08/using-indexes-in-rails-choosing-additional-indexes

2

Je ne sais pas beaucoup sur pierre Acts_as_tenant (jamais utilisé), mais théoriquement parlant, si de quelque raison que vous êtes maintenant lors de l'interrogation sur le id et un champ account_id, puis oui vous devez ajouter un index composé pour couvrir ces requêtes.

Assurez-vous simplement que la gem n'ajoute pas d'index supplémentaire par défaut.

Questions connexes