[Phpmyadmin-devel] about MaxNavigationItems

Rouslan Placella rouslan at placella.com
Sat Nov 10 13:44:32 CET 2012


On 11/10/2012 11:35 AM, Marc Delisle wrote:
> Le 2012-11-09 13:20, Rouslan Placella a écrit :
>> On 11/09/2012 05:30 PM, Marc Delisle wrote:
>>> Marc Delisle a écrit :
>>>> Rouslan Placella a écrit :
>>>>> On 11/09/2012 12:42 PM, Marc Delisle wrote:
>>>>>> Hi Rouslan,
>>>>>>
>>>>>> The default value for this is 25. I have a situation where the page
>>>>>> navigator appears when I have plenty of space in the panel. The reason
>>>>>> is that one of the databases uses a prefix and there are about 20
>>>>>> databases starting with this prefix.
>>>>>>
>>>>>> So, it might be difficult to understand why MaxDbList is set to 100 and
>>>>>> I don't see 100 databases on page 1.
>>>>> Hi Marc,
>>>>>
>>>>> The limit applies to how many items are fetched from MySQL before being
>>>>> grouped and rendered, hence the issue.
>>>>>
>>>>> Anyway, what if you had 1000 dbs in a group? Here, in order to be able
>>>>> to show the next group (or next db), we would have to fetch all 1000 dbs
>>>>> from the first group. The implementation of grouping at the moment is
>>>>> not particularly fast, so in situations like this I would expect the
>>>>> navigation to grind down to a halt.
>>>>
>>>> Hi Rouslan,
>>>> I tried "100" in MaxNavigationItems and saw no delay; did you have a
>>>> reason to put "25" in its default value?
>>>
>>> I mean, apart from how many non-grouped dbs would be displayed?
>>
>> I'm not too sure what you are asking here...
>>
>> Anyway, I chose 25 because it fits into an average screen without the
>> scrollbar, which takes up horizontal space.
>>
>> That said, I think that I have an idea. How about a larger limit on the
>> number of databases to be loaded into memory and a smaller limit on the
>> number of databases to be rendered and sent back to the client? We
>> could, say, load 250 dbs in to memory, group them and then render and
>> display the first 25 dbs/groups.
>>
>> Sounds good?
>>
>
> Yes. So, MaxDbList (default 25) would be used for the rendering, and
> something like MaxNavigationDbLoaded would contain 250?  And no more
> MaxNavigationItems?  (I find that "items" here is unclear).
>

MaxDbList is for server_databases.php. While MaxNavigationItems applies 
to all items that can be displayed in the navigation (tables, views, 
events, triggers, etc), default 25. And perhaps 
MaxNavigationItemsInMemory which would then default to 250. 
MaxNavigationItemsInMemory would then apply to how many items which can 
be grouped (dbs and tables) would be loaded into memory.

Makes sense?

Bye,
Rouslan




More information about the Developers mailing list