SQL的top100percent用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL的top100percent⽤法
sql="select top 30 * from data where title='"&title1&"' order by id desc"
原意是选出符合“where 条件”的记录集⾥的“前30条”
但是,对于该SQL语句,由于语句⾥同时存在where和top语句的,并且where条件列不是合适的索引,程序执⾏的是全表扫描,⾸先是查找符合where条件的记录,⽽这⾥的top限制形同虚设。

如果全表是百万级别以上的数据表,那么就这么⼀个简单的判断,就有可能拖垮数据库。

所以需要先把符合“where条件”的记录,⽤⼀个⼦查询筛选出来,再在筛选结果集⾥选top30。

因为SQL规则规定,如果⼦查询⾥,有order ...,就必须有TOP,所以就⽤SELECT TOP 100 PERCENT来限定,top 100 percent是为了保证筛选出所有符合条件的数据条⽬。

相关文档
最新文档