I had experienced some performance and memory issues with ITableSort in the past. I normally use IQueryDef.PostFixClause to include "orderby" clause in the database query rather than using ITableSort . You can even specify the Subfields in IQueryDef. It can be used with ArcSDE, Personal and File Geodatabase data sources.