Snmp Polling Efficiency: Table VS List of Single OIDs

I want to query the IF-TABLE for a subset of the OIDs in the table.

Out of the IF-TABLE, I am querying for 10 of the 19 columns.

My question is related to efficiency on my system and speed of polling. I am using TableUtils.getTable to make the request.

Which is better(more efficient) to use out of the following?

  1. A single request for each needed column
    i.e. tableUtils.getTable(target, [column-oid])
  2. Send an array of OIDs to the TableUtils.getTable() method containing all or some of the OIDs
    i.e. tableUtils.getTable(target, list-of-column-oids)
  3. Request the entire table and parse out the unneeded data at the end.
    ie. tableUtils.getTable(target, [table-oid]

Thanks in advance for your help.

Method 2. is more efficient than the others.

Thanks, Frank. Is there any recommendation as to how many column oids is acceptable to be sent in the array of the getTable method?

Not really, It depends on the network settings, especially the maximum PDU length the responder can handle. The absolut maximum is 65535 bytes.