百分请教sql 句子select top的执行效率问题.
数据库中的一百万条记录,在sql 查询分析器中直接执行select top 999992 * from talbe时,用了几十秒.在ASP中执行了同样的句子,还进行了一些别的操作,为什么却在10秒内完成操作了?
难道在ASP中时,效率提高了吗?
------解决方案--------------------数据库中的一百万条记录,在sql 查询分析器中直接执行select top 999992 * from talbe时,用了几十秒.在ASP中执行了同样的句子,还进行了一些别的操作,为什么却在10秒内完成操作了?
我也认为这是不可能的.
再说数据库中有一百万条记录,select top 999992 有何意义?
------解决方案--------------------要考虑对输出结果的处理
查询分析器要读出所有的数据并显示出来
也许你的asp只是打开记录集, 然后分页显示数据, 这个不一定要把所有数据都拿出来的
这样两者需要的时间肯定不同.
------解决方案--------------------数据库中的一百万条记录,在sql 查询分析器中直接执行select top 999992 * from talbe时,用了几十秒.在ASP中执行了同样的句子,还进行了一些别的操作,为什么却在10秒内完成操作了?
我也认为这是不可能的.
如果資料量這麼大,加上必要的條件與建立合適的索引對查詢效能是有幫助的。
------解决方案--------------------那是因为查询分析器获得数据后需要处理并以某种格式,显示出来,这部分时间被统计在查询时间内了,实际上服务器返回数据没有花这么多时间