#1265: getFromLDAP optimization for groups retrival
----------------------------+-----------------------------------------------
Reporter: remi | Owner: anonymous
Type: enhancement | Status: new
Priority: normal | Milestone: 0.75
Component: Authentication | Version: 0.71.5
Severity: tweak | Resolution:
Keywords: | Cd: 1 (Low)
----------------------------+-----------------------------------------------
Old description:
> Actual process :
>
> * SELECT ID,ldap_field, ldap_value FROM glpi_groups
> * Build a small array with unique ldap_field
> * Build a big array with ID,ldap_field,ldap_value
> * retrieve LDAP attribute (ldap_field = small array)
> * build array with group membership (searching in the big array)
>
> This could consume a lot of memory and time (if a lot of groups exists :
> > 10000)
>
> Proposed optimized process (to be discussed)
>
> * SELECT DISTINCT ldap_field FROM glpi_groups
> * Build a small array with unique ldap_field
> * retrieve LDAP attribute (ldap_field)
> * for each attribute of the current user search for group ID
> (ldap_field,ldap_value)
> * build array with group membership
>
> This will use more SQL query, but smaller.
New description:
Actual process :
* SELECT ID,ldap_field, ldap_value FROM glpi_groups
* Build a small array with unique ldap_field
* Build a big array with ID,ldap_field,ldap_value
* retrieve LDAP attribute (ldap_field = small array)
* build array with group membership (searching in the big array)
This could consume a lot of memory and time (if a lot of groups exists :
> 10000)
Proposed optimized process (to be discussed)
* SELECT DISTINCT ldap_field FROM glpi_groups
* Build a small array with unique ldap_field
* retrieve LDAP attribute (ldap_field)
* for each attribute of the current user search for group ID
(ldap_field,ldap_value)
* build array with group membership
This will use more SQL query, but smaller.
A new index will be usefull on ldap_value (better cardinality than
ldap_field) for this solution.
--
Ticket URL: <https://dev.indepnet.net/glpi/ticket/1265#comment:1>
GLPI <https://dev.indepnet.net/glpi/>
Gestion Libre de Parc Informatique
_______________________________________________
Glpi-bugtrack mailing list
[email protected]
https://mail.gna.org/listinfo/glpi-bugtrack