gpt4 book ai didi

string - TRIM RTRIM LTRIM 性能

转载 作者:行者123 更新时间:2023-12-02 02:54:32 26 4
gpt4 key购买 nike

我只需要在查询的某些部分执行RTRIM(),但如果我执行 TRIM() 将会影响性能。

Trim()更慢/更快/完全相同(甚至没有可以忽略不计的差异)与 RTRIM()LTRIM() 相比?

这仅适用于 Oracle 10g。

但是对于 SQL Server 2005,我们是否有函数/方法“x()”,以便它可以将 RTRIM(LTRIM(' blah.. blah.. ')) 替换为单个函数?

我的意思只是使用“单一”函数来执行 RTRIM()LTRIM() 所执行的相同功能。

最佳答案

根据这个粗略的测试,有一个很小的差异:

DECLARE
n PLS_INTEGER := DBMS_UTILITY.get_time;
s1 VARCHAR2(32767);
s2 VARCHAR2(32767);
BEGIN
s1 := LPAD('X',15000,' ') || RPAD('X',15000,' ');
FOR i IN 1..1000000 LOOP
NULL;
END LOOP;
DBMS_OUTPUT.put_line('Baseline: ' || (DBMS_UTILITY.get_time - n));
n := DBMS_UTILITY.get_time;
FOR i IN 1..1000000 LOOP
s2 := LTRIM(s1);
END LOOP;
DBMS_OUTPUT.put_line('LTRIM: ' || (DBMS_UTILITY.get_time - n));
n := DBMS_UTILITY.get_time;
FOR i IN 1..1000000 LOOP
s2 := RTRIM(s1);
END LOOP;
DBMS_OUTPUT.put_line('RTRIM: ' || (DBMS_UTILITY.get_time - n));
n := DBMS_UTILITY.get_time;
FOR i IN 1..1000000 LOOP
s2 := TRIM(s1);
END LOOP;
DBMS_OUTPUT.put_line('TRIM: ' || (DBMS_UTILITY.get_time - n));
END;

在最坏的情况下,差异可达 0.000128 百分之一秒:

Baseline: 0
LTRIM: 113
RTRIM: 103
TRIM: 8
Baseline: 0
LTRIM: 136
RTRIM: 133
TRIM: 8

关于string - TRIM RTRIM LTRIM 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com