Useful comment. I hadn't thought of getting SQL to do the logic.
An index on the columns in where clause might have a huge impact if you use count(*).
I believe that MySQL creates an index on the leftmost subset of columns anyway, due to the way it stores
the data. It should be intelligent enough to only compare the second row if the first row succeeds. In the test case,
only there are only 4 rows, so testing the remainder of the AND should be quick.
Have just tested the suggestion. In fact, not having indexes doesn't seem to make any difference (1230/sec vs. 1174/sec),
so I think I am correct that there is an index by default on the leftmost column.