比如数据库Table中当前有10000条数据,删除了9990条,还剩下10条数据,
此时用select去查询,发现效率与查询 10000条数据时 相当,
那是因为删除数据的时候,没有及时降低数据库的 high water mark,虽然table中只有 10 条数据,但是依然扫描了10000条数据的量
使用下面的语法,查看表使用空间
USE ‘DatabaseName’
EXEC sp_spaceused ‘TableName’
使用下面的语法,收缩表空间
delete from ‘TableName’ with(TABLOCK) WHERE ID<20