使用TABLESAMPLE ,可以从from子句的表中提取一些样本行。
这个取样可以给予一定百分比的行,当应用陈谷只需要一些样本行而不是完整地结果集时,可以使用TABLESAMPLE来实现。
下面这个示例演示了使用TABLESAMPLE的一个查询:
SELECT FristName,LastName
From Person.Person
TABLESAMPLE SYSTEM(2 PERCENT)
这个查询返回下面的(部分)结果:
FirstName LastName
Andre Suri
Adam Turner
...
(232行受影响)
再执行一次又返回一组新的(部分)结果:
FirstName LastName
Robert King
Ricardo Raje
...
(232行受影响)
这个示例我们从Person.Person表中取样2%的行,然而,这个百分比是表数据页的百分比。一旦选中了一个样本页,那这个页的所有行都会返回。
由于各页的填充状况不一样,所以返回的数据的行数也会不一样,其实就算指定了行数,sql Server也会把它转换成百分比,然后用同样的方法返回一定百分比的数据页。