I don't understand the explanation in c#9 and c#10 about the "networkrbacs.object_id" column. This field is a foreign key, that means it is added to the indexes list.
In order to speed up the current query we can set "networkrbacs.target_tenant" and "networkrbacs.action" as indexes. That will help on the query described in c#11. The insertion operation (when a RBAC is created) will need to calculate those new indexes but this is trivial compared to the improvement during the select queries.
I'm going to propose a WIP patch in master. However, it could be much better if you manually set those two columns "networkrbacs.target_tenant" and "networkrbacs.action" as indexes in your deployment, benchmark the queries and share the results.
Hello Leduc/Tyler:
In c#2 I asked if you had https:/ /review. opendev. org/c/openstack /neutron/ +/720051 in your environment. Please, check that.
I don't understand the explanation in c#9 and c#10 about the "networkrbacs. object_ id" column. This field is a foreign key, that means it is added to the indexes list.
In order to speed up the current query we can set "networkrbacs. target_ tenant" and "networkrbacs. action" as indexes. That will help on the query described in c#11. The insertion operation (when a RBAC is created) will need to calculate those new indexes but this is trivial compared to the improvement during the select queries.
I'm going to propose a WIP patch in master. However, it could be much better if you manually set those two columns "networkrbacs. target_ tenant" and "networkrbacs. action" as indexes in your deployment, benchmark the queries and share the results.
Regards.