базовый c запрос очень медленный на azure управляемом экземпляре sql серверной базе данных - PullRequest
0 голосов
/ 17 февраля 2020

На базе Azure управляемого sql экземпляра сервера я делаю

Select top 1000 * from _CSP_Detail.

Таблица данных пуста, поскольку вчера я удалил все данные из таблицы (Удалить * из _CSP_Detail).
Раньше у него было миллион строк, и его удаление заняло некоторое время. Есть таблица, полная индексов / индексов, определенных в таблице.

После удаления сегодня я обнаружил, что

Select top 1000 * from _CSP_Detail

ничего не тянет, как ожидалось, но захватывает минута бега.

озадачен. Есть идеи?

1 Ответ

1 голос
/ 17 февраля 2020

Кажется, ваша таблица - это куча (без кластерного индекса). Пространство не освобождается при удалении строк из кучи, поэтому, даже если таблица пуста, выделенные страницы должны быть проверены запросом SELECT, чтобы найти строки.

Явно TRUNCATE таблица или создание / отбросить кластеризованный индекс, чтобы освободить пространство и повысить производительность по сравнению с пустой таблицей.

Обратите внимание, что таблицы обычно должны иметь кластеризованный индекс в соответствии с документацией .

...