If you're not doing any specific search predicates in your WHERE
clauses, rather you're literally trying to SELECT
rows 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
indexes.
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.