Hi devels,
<br>Im developer of visualization tool Nagvis. I worked a bit on the NDO 
backend to optimize the queries to the DB. I recognized that the field 
instance_id is not a part of an index/key in some (or some more) tables.
<br>
<br>For example we query the following tables in one query:
<br>- nagios_objects and nagios_hoststatus (To get the hoststatus)
<br>
<br>- nagios_objects and nagios_servicestatus (To get the servicestatus)
<br>
<br>- nagios_objects and nagios_hostgroups (To get the ID of a hostgroup)
<br>- nagios_objects and nagios_hostgroup_members (To get the members of a 
hostgroup)
<br>
<br>- nagios_objects and nagios_servicegroups (To get the ID of a servicegroup)
<br>- nagios_objects and nagios_servicegroup_members (To get the members of 
a servicegroup)
<br>
<br>In all cases were filtering the datasets by the instance_id. But not in 
all tables the field "instance_id" is indexed or a (part of a) key. I'm 
not the mysql geek but I think it would be good to make the field 
"instance_id" in table nagios_objects as a key - or a part of a key.
<br>This should make the selects much more faster.
<br>
<br>I just had a look at the queries distributed in the ndo package, I 
recognized there are always joins to nagios_hosts/nagios_services etc. I 
think a JOIN to the table only for checking if this is the correct 
"instance_id" is to much overhead.
<br>
<br>Some comments/ideas?
<br>
<br>Regards,
<br>Lars