So this is a simple thing. When using ArcSDE with max features to read per feature type, the reader reads all records, then filters afterwards. When querying the database use groupby and top or limit to limit the number of feature before fetching all the data.
Why is this important?
Well sometimes we have huge databases, and to make testing and development smooth and fast, we shouldn't sit and waste our time for a simple feature to come out of the reader, because of this elementary thing.

