If you're not doing any specific search predicates in your
WHERE clauses, rather you're literally trying to
WHERE TextColumn IS NULL in one query, and
WHERE TextColumn IS NOT NULL in another query, then you should look into Filtered Indexes.
A filtered index is an optimized nonclustered index especially suited
to cover queries that select from a well-defined subset of data. It
uses a filter predicate to index a portion of rows in the table. A
well-designed filtered index can improve query performance as well as
reduce index maintenance and storage costs compared with full-table
You can create a Filtered Index for each case I mentioned above, so that subset of rows is indexed separately from each other, which may help with your performance.