Желателен ли индекс CLUSTER INDEX при загрузке отсортированного загрузочного файла в новую таблицу?

INFORMIX-SE:

Мои пользователи периодически запускают сценарий SQL [REORG.SQL], который выгружает все строки из таблица в отсортированном порядке по двум отдельным файлам (активным и неактивным), удаляет таблицу, заново создает таблицу, загружает отсортированные файлы загрузки обратно в него, создает кластерный индекс для того же столбца, по которому я сортировал свои файлы выгрузки, создает другие вспомогательные индексы и обновляет его статистику.

(См. Сценарий REORG.SQL по адресу: SE: аномалия 'bcheck -y' )

(Также см .: customer.pk_name, объединяющее транзакции.fk_name против customer.pk_id [serial] ] присоединение к транзакциям.fk_id [целое число] по причине, по которой индекс кластера по имени, а не по имени pk_id [serial] = fk_id [int])

С моим скриптом REORG.SQL у меня возникли проблемы с согласованностью файла индекса поэтому я подозревал, что индекс CLUSTER INDEX как-то связан с ним, и создал индекс без кластеризации, и проблемы исчезли!

Теперь мой вопрос: если мне удастся загрузить все мои данные транзакции, отсортированные по полному имени клиента, во вновь созданную таблицу, действительно ли мне необходимо создавать индекс CLUSTER INDEX, когда на самом деле строки уже отсортированы в том же порядке, что и кластеризация? .. Я знаю, что кластеризованный индекс начинает терять свою кластеризацию при добавлении новых строк, так что Преимущество создания кластерного индекса? .. Использует ли оптимизатор запросов преимущество кластеризации по сравнению с некластеризованным индексом, когда строки по существу находятся в одном кластерном порядке? .. Кто-нибудь сталкивался с проблемами с файлами IDX / DAT при кластеризации таблицы? .. Возможно, в моем скрипте SQL что-то не так? (ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ МОЙ КОД СКРИПТА SQL, ЧТОБЫ УВИДЕТЬ, ЕСЛИ Я Указывает, что никакие новые задания (команды) не должны запускаться, если выполняются другие задания и средняя нагрузка равна по меньшей мере нагрузке (число с плавающей запятой). Без аргументов удаляет предыдущий предел нагрузки.

Есть ли у вас хорошая стратегия, какое значение использовать для ограничения нагрузки? Кажется, между моими машинами они сильно различаются.

13
задан olibre 10 October 2014 в 15:49
поделиться

1 ответ

Допустимая нагрузка зависит от количества ядер ЦП. Если есть одно ядро, то средняя загрузка больше единицы - это перегрузка. Если имеется четыре ядра, то средняя загрузка более четырех является перегрузкой.

Часто люди просто указывают количество ядер с помощью ключа -j.

См. Здесь некоторые эмпирические числа: https://stackoverflow.com/a/17749621/412080

5
ответ дан 2 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: