Иногда столбцы PK можно создавать без учета порядка при создании проекта
Поскольку для моделирования и создания DDL используются инструменты моделирования данных.
в этом случае могут сопровождаться следующие проблемы
- При создании индекса PK может быть сгенерирован в непреднамеренной последовательности.
- снижение производительности происходит при выборе данных
- Генерируется много индексов, увеличивается ненужная внутренняя работа при вводе/изменении/удалении
Как это решить?
необходимо проанализировать предложение SQL «where»,
и настроить порядок столбцов PK
Поясню на простом примере
Сначала примените индекс в порядке ORDER_DATE и SELLER_ID.
Как видите, он расположен в порядке ORDER_DATE и SELLER_ID
Сначала сортировать по ORDER_DATE, сортировать по SELLER_ID
Теперь запустите запрос
сначала выполняется запрос 1, а затем выполняется запрос 2. так
Полное сканирование происходит при поиске «10368»
Это нехорошо, вызывает снижение производительности
Затем я напишу «SELLER_ID» спереди
Удалить ранее созданный индекс
Я вижу, что это хорошо применяется
Теперь давайте снова запустим запрос
Как показано, «10368» можно найти в более узком диапазоне.
При настройке составного ключа необходимо отсортировать индексы в соответствии с запросом