Performing efficient searches over two columns
An index in 2 columns in the order (MACAddress, TimeStamp) will benefit any reasonable query construct for both


for a specific MAC address
for a MAC address within a range


Why?


The first query uses "equality" (= MacAddress)
The second uses "equality" then "inequality" (= MacAddress AND TimeStamp BETWEEN X and Y)


An RDBMS should traverse the index to find the MACAddress quickly, then looks with the subset for the time range.

It should be sublinear performance

Some reading to explain more (SQL Server specific)


https://www.toadworld.com/platforms/sql-server/w/wiki/9635.index-selectivity-and-column-order
https://stackoverflow.com/questions/797830/how-to-order-fields-on-index-creation-sql-server-2005