当前位置:  开发笔记 > 后端 > 正文

如何以最高性能查询DB2中的数据范围?

如何解决《如何以最高性能查询DB2中的数据范围?》经验,为你挑选了1个好方法。

通常,我需要从某个范围内的表中检索数据; 例如,每个搜索结果的单独页面.在MySQL中我使用LIMIT关键字但在DB2中我不知道.现在我使用此查询来检索数据范围.

SELECT * 
FROM(
   SELECT  
      SMALLINT(RANK() OVER(ORDER BY NAME DESC)) AS RUNNING_NO
      , DATA_KEY_VALUE
      , SHOW_PRIORITY
   FROM 
      EMPLOYEE
   WHERE 
      NAME LIKE 'DEL%'
   ORDER BY
      NAME DESC
   FETCH FIRST 20 ROWS ONLY
) AS TMP
ORDER BY 
  TMP.RUNNING_NO ASC
FETCH FIRST 10 ROWS ONLY

但我知道这是不好的风格.那么,如何查询最高性能?



1> Fuangwith S...:

我的要求已经添加到DB2 9.7.2中.

DB2 9.7.2为限制查询结果添加了新语法,如下所示:

SELECT * FROM TABLE LIMIT 5 OFFSET 20

数据库将从行号中检索结果.21 - 25


看起来它只适用于DB2 Express-C,你必须将compatibility_vector更改为mys,正如文章中所解释的那样.
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有