Задание 1. Сбор и анализ статистики с помощью PROUTIL
В тестовой базе данных sporstco с помощью утилит PROUTIL TABANALYS и IDXANALYS необходимо собрать и проанализировать статистику для секционированной таблицы Customer. Кроме того, необходимо сгенерировать файлы, в которых данные по секционированной таблице Order должны быть разделены по колонкам.
- Откройте командную строку Proenv: Start -> All Programs -> Progress -> OpenEdge -> Proenv
- Перейдите в каталог C:\OpenEdge\WRK\tablepartitioning
cd tablepartitioning
- Создайте отчёт TABANALYS для области хранения CustomerData1 и сохраните его в файл CustomerData1.txt:
proutil sportsco -C tabanalys area customerdata1 > customerdata1.txt
- Посмотрите на содержимое файла CustomerDatatxt. Коэффициенты фрагментации (Fragments Factor) для всех секций должны быть единицами, что указывает на эффективное хранение данных в этих секциях.
RECORD BLOCK SUMMARY FOR AREA "CustomerData1": 300 ------------------------------------------------------- RECORD BLOCK SUMMARY FOR SHARED TABLES -------------------------------------------- -Record Size (B)- ---Fragments--- Scatter Table Records Size Min Max Mean Count Factor Factor PUB.Customer.Customer-1 1 179.0B 179 179 179 1 1.0 1.0 PUB.Customer.Customer-10 2 256.0B 124 132 128 2 1.0 1.0 PUB.Customer.Customer-11 2 353.0B 173 180 176 2 1.0 1.0 PUB.Customer.Customer-12 1 160.0B 160 160 160 1 1.0 1.0 PUB.Customer.Customer-13 1 141.0B 141 141 141 1 1.0 1.0 PUB.Customer.Customer-14 7 1.2K 151 227 172 7 1.0 1.0 PUB.Customer.Customer-15 123 16.3K 116 164 135 123 1.0 1.0 PUB.Customer.Customer-16 129 17.3K 117 171 137 129 1.0 1.0 PUB.Customer.Customer-17 137 18.6K 110 175 138 137 1.0 1.0 PUB.Customer.Customer-18 146 19.6K 108 162 137 146 1.0 1.0 PUB.Customer.Customer-19 146 19.9K 118 176 139 146 1.0 1.0 PUB.Customer.Customer-2 3 422.0B 135 148 140 3 1.0 1.0 PUB.Customer.Customer-20 125 16.9K 116 179 138 125 1.0 1.0 PUB.Customer.Customer-21 9 1.2K 129 152 135 9 1.0 1.0 PUB.Customer.Customer-22 118 15.8K 102 175 136 118 1.0 1.0 PUB.Customer.Customer-23 127 17.0K 116 176 137 127 1.0 1.0 PUB.Customer.Customer-3 28 4.4K 143 201 160 28 1.0 1.0 PUB.Customer.Customer-4 5 863.0B 143 202 172 5 1.0 1.0 PUB.Customer.Customer-5 1 176.0B 176 176 176 1 1.0 1.0 PUB.Customer.Customer-6 1 132.0B 132 132 132 1 1.0 1.0 PUB.Customer.Customer-7 1 130.0B 130 130 130 1 1.0 1.0 PUB.Customer.Customer-8 1 133.0B 133 133 133 1 1.0 1.0 PUB.Customer.Customer-9 3 415.0B 136 140 138 3 1.0 1.0 ----------------------------------------------------------------------------- Subtotals: 1117 151.3K 102 227 138 1117 1.0 1.0
- Создайте отчёт IDXANALYS для области хранения CustomerIndex1 и сохраните его в файл CustomerIndextxt:
proutil sportsco -C idxanalys area customerindex1 > customerindex1.txt
- Посмотрите на содержимое файла CustomerIndex1.txt. Значения столбца Factor для индексных секций должны быть единицами. Это означает, что локальные индексы достаточно хорошо утилизированы и сбалансированы.
INDEX BLOCK SUMMARY FOR AREA "CustomerIndex1": 301 ------------------------------------------------------- INDEX BLOCK SUMMARY FOR SHARED OBJECTS: -------------------------------------------- Table Index Fields Levels Blocks Size % Util Factor PUB.Customer Customer _Partition-Internal-Value -1558 2 1 1 590.0B 14.5 1.0 CountrySalesrepCustnumLocalIdx 69 3 Customer-1:1 1 1 31.0B 0.8 1.0 Customer-10:10 1 1 3.0B 0.1 1.0 Customer-11:11 1 1 3.0B 0.1 1.0 Customer-12:12 1 1 3.0B 0.1 1.0 Customer-13:13 1 1 3.0B 0.1 1.0 Customer-14:14 1 1 3.0B 0.1 1.0 Customer-15:15 1 1 3.0B 0.1 1.0 Customer-16:16 1 1 3.0B 0.1 1.0 Customer-17:17 1 1 3.0B 0.1 1.0 Customer-18:18 1 1 3.0B 0.1 1.0 Customer-19:19 1 1 3.0B 0.1 1.0 Customer-2:2 1 1 3.0B 0.1 1.0 Customer-20:20 1 1 3.0B 0.1 1.0 Customer-21:21 1 1 3.0B 0.1 1.0 Customer-22:22 1 1 3.0B 0.1 1.0 Customer-23:23 1 1 3.0B 0.1 1.0 Customer-3:3 1 1 3.0B 0.1 1.0 Customer-4:4 1 1 3.0B 0.1 1.0 Customer-5:5 1 1 3.0B 0.1 1.0 Customer-6:6 1 1 3.0B 0.1 1.0 Customer-7:7 1 1 3.0B 0.1 1.0 Customer-8:8 1 1 3.0B 0.1 1.0 Customer-9:9 1 1 3.0B 0.1 1.0 CountrySalesrepLocalIdx 67 2 Customer-1:1 1 1 28.0B 0.7 1.0 Customer-10:10 1 1 27.0B 0.7 1.0 Customer-11:11 1 1 34.0B 0.8 1.0 Customer-12:12 1 1 33.0B 0.8 1.0 Customer-13:13 1 1 33.0B 0.8 1.0 Customer-14:14 1 1 39.0B 1.0 1.0 Customer-15:15 1 1 70.0B 1.7 1.0 Customer-16:16 1 1 79.0B 1.9 1.0 Customer-17:17 1 1 86.0B 2.1 1.0 Customer-18:18 1 1 91.0B 2.2 1.0 Customer-19:19 1 1 91.0B 2.2 1.0 Customer-2:2 1 1 28.0B 0.7 1.0 Customer-20:20 1 1 76.0B 1.9 1.0 Customer-21:21 1 1 30.0B 0.7 1.0 Customer-22:22 1 1 68.0B 1.7 1.0 Customer-23:23 1 1 76.0B 1.9 1.0 Customer-3:3 1 1 53.0B 1.3 1.0 Customer-4:4 1 1 29.0B 0.7 1.0 Customer-5:5 1 1 25.0B 0.6 1.0 Customer-6:6 1 1 25.0B 0.6 1.0 ------------------------------------------------------------------ Subtotals: 44 1.7K 1.0 1.0
- Создайте файл, в котором данные по таблицам области хранения OrderData1 сгруппированы и разделены по столбцам. В качестве разделителя столбцов укажите символ табуляции. Первой строкой в файле должны быть заголовки столбцов. Префикс имени файла должен быть Order, а каталог для сохранения файла должен быть C:\OpenEdge\WRK\tablepartitioning\order:
proutil sportsco -C tabanalys area orderdata1 -csoutput -fieldsep tab -csfilePrefix .\order\order -verbose
- Откройте в MS Excel созданные файлы order.block_400.txt и order.tab_400.txt и изучите содержимое.
Содержимое order.block_400.txt:
Содержимое order.tab_400.txt:
Согласитесь, анализировать данные в таком виде намного удобнее.
Задание выполнено!