Отделка функция rtrim производительности функция ltrim



От меня требуется только сделать RTRIM() в некоторой части запроса, но если я сделаю TRIM (), это повлияет на производительность.

Является Trim() Медленнее / быстрее / точно так же(даже не имеет незначительной разницы) по сравнению с RTRIM() и LTRIM()?

Это относится только к Oracle 10g.

Но в случае SQL Server 2005, Есть ли у нас функция / метод ' x ()', которая может заменить RTRIM(LTRIM(' blah.. blah.. ')) на одну функцию ?

Я просто имею в виду наличие "единственной" функции для выполнения той же функции что делают и RTRIM(), и LTRIM().

174   4  

4 ответов:

На основе этого грубого теста есть небольшая разница:

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

Разница в производительности обычно не обнаруживается, особенно если она находится в запросе, который получает данные из таблицы. Выбирайте то, что соответствует вашим требованиям.

Этот вопрос не имеет отношения к SQL Server, поскольку он реализует LTRIM и RTRIM, но не TRIM.

Смотрите списокстроковых функций SQL 2005 .

Я никогда не видел ничего похожего на бенчмарк в SQL Server. Я использовал его много и действительно нахожу некоторую незначительную производительность при работе с большим количеством данных...незначительное представление.

    Ничего не найдено.

Добавить ответ:
Отменить.