小编Kra*_*ken的帖子

按 GETSOTED 排序

在我的 sybase 12 中,当我查看 select distinct 查询GETSORTED的 showplan 时,我看到了 showplan 的输出。

我已经搜索了整个互联网(是的!),但似乎找不到一个链接来说明实际对数据进行排序的顺序GETSORTED

我有理由相信它对不同行的列中数据的大小进行排序,对于相同长度的行,它按字母顺序排序。

执行计划:

W (5):     STEP 1
   W (6):         The type of query is INSERT.
   W (7):         The update mode is direct.
   W (8):         Worktable1 created, in allpages locking mode, for DISTINCT.
   W (9): 
   W (10):         FROM TABLE
   W (11):             tablename
   W (12):         Nested iteration.
   W (13):         Table Scan.
   W (14):         Forward scan.
   W (15):         Positioning at start of table.
   W (16):         Using …
Run Code Online (Sandbox Code Playgroud)

sybase order-by select

4
推荐指数
1
解决办法
171
查看次数

高效查询数据库以获取大量数据

这是我的查询

SELECT *
FROM
    (
        SELECT a.*, rownum rnum
        FROM
            (
                SELECT id, data
                FROM t
                ORDER BY id
            ) a
       WHERE rownum <= HIGHER
    )
WHERE rnum >= LOWER;
Run Code Online (Sandbox Code Playgroud)

我有大量数据,因此我一次获取其中的一部分,比如第一次尝试从 1 到 100,第二次尝试从 101 到 200,依此类推。

如果我执行上面的查询,它将对每个数据部分执行以下操作:

SELECT id, data
FROM t
ORDER BY id
Run Code Online (Sandbox Code Playgroud)

我认为对每个部分都这样做效率很低。我不能做一些像订购我的数据集并应用 rownum 之类的事情吗?它会有任何用处吗?

performance oracle query

2
推荐指数
1
解决办法
6273
查看次数

标签 统计

oracle ×1

order-by ×1

performance ×1

query ×1

select ×1

sybase ×1