2016-09-13 1 views
1

Я ищу оптимизацию запросов, но IBM не очень-то об этом говорит в документарной документации. Итак, у нас довольно большой воб, и мы хотели бы перечислить все изменения, сделанные между 2 датами, какой запрос вы считаете самым быстрым, и видите ли вы какие-либо улучшения?Производительность команды Cleartool: lshistory или find -exec

Метод 1:

cleartool find -avobs -type f -element '(created_since(1-Jun-2016) &&     !created_since(1-Sep-2016)) 
&& (Element_Type==""Program"" || Element_Type==""Output"" || Element_Type==""Data"")' 
-ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' 
-exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' 
>| test.txt 

Метод 2:

cleartool lshistory -avobs -since 1-Jun-2016 -fmt '#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n' -nco -pname >| test.txt 

Спасибо!

ответ

1

cleartool lshistory касается записей о событиях, minors ones can be scrubbed. Он предлагает меньше фильтрующих параметров, что означает, что вы получаете все, и только затем применяйте фильтр самостоятельно (grep)

Как правило, cleartool find может быть быстрее, поскольку вы можете добавить критерии, чтобы уточнить поиск.

От "Additional examples of the cleartool find command", чтобы увидеть все изменения (не только творения на уровне элементов, но изменения, на уровне версии), то запрос:

cleartool find . -version "{created_since(date1) && !created_since(date2)}" 

-print

Тот факт, что вы можете добавить:

  • type f (нужны только файлы, а не папки)
  • любые другие критерии (Примечание: я не вижу «ELEMENT_TYPE» в query_language)

Те поможет ускорить запрос.


OP M4hd1 добавляет in the comments:

Основываясь на ваш комментарий я изменил запрос к этому:

cleartool find -avobs -type f -element '(attr_sub(Element_Type,==,"Output"))' -ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' -exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' >| test.txt 

В нескольких строках:

cleartool find -avobs -type f -element '(attr_sub(Element_Type,==,"Output"))' \ 
    -ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' \ 
    -exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' \ 
>| test.txt 
+0

Спасибо за вашу помощь! На основе вашего комментария я изменил запрос на это: cleartool find -avobs -type f -element '(attr_sub (Element_Type, ==, "Output"))' -ver 'created_since (1-Jun-2016) &&! Created_since (1-Sep-2016) ' -exec' cleartool describe -fmt "" #Name:% Xn Дата:% Nd Пользователь:% u Метка:% 1.400Cl Атрибуты:% a Версия:% Vn Комментарий:% Nc \ n " "$ CLEARCASE_XPN ' > | test.txt – M4hd1Pro

+0

@ M4hd1 Молодцы! Я включил ваш комментарий в ответ для большей наглядности. – VonC

Смежные вопросы