Первичный ключ всегда кластеризируется?

Задав файл my.list.of.strings=ABC,CDE,EFG в файле .properties и используя

@Value("${my.list.of.strings}") private String[] myString;

Вы можете получить массивы строк. И используя CollectionUtils.addAll(myList, myString), вы можете получить список строк.

16
задан TheVillageIdiot 24 February 2009 в 11:59
поделиться

2 ответа

Нет, это может не кластеризироваться. Однако, если Вы явно не определите его столь же некластеризованный и нет никакого кластерного индекса на таблице, то это будет создано, как кластеризируется.

25
ответ дан 30 November 2019 в 16:58
поделиться

Можно было бы также добавить, что часто это ПЛОХО, чтобы позволить первичному ключу кластеризироваться. В частности, когда первичный ключ присвоен ИДЕНТИФИКАЦИОННЫМИ ДАННЫМИ, он не имеет никакого внутреннего значения, таким образом, любое усилие сохранить таблицу расположенной соответственно было бы потрачено впустую.

Рассматривают продукт таблицы, с PRIMARY KEY ProductID INT ИДЕНТИФИКАЦИОННЫХ ДАННЫХ. Если это будет кластеризироваться, то продукты, которые связаны в некотором роде, вероятно, будут распространены на всем протяжении диска. Могло бы быть лучше кластеризироваться чем-то, что мы, вероятно, запросим на основе, как ManufacturerID или CategoryID. В любом из этих случаев кластерный индекс (при прочих равных условиях) сделал бы соответствующий запрос намного более эффективным.

, С другой стороны, внешний ключ в дочерней таблице, которая указывает на это, мог бы быть хорошим кандидатом на кластеризацию (мое возражение к столбцу, который на самом деле имеет атрибут ИДЕНТИФИКАЦИОННЫХ ДАННЫХ, не его родственников). Таким образом в моем примере выше, вероятно, что ManufacturerID является внешним ключом к таблице Manufacturer, где это установлено как ИДЕНТИФИКАЦИОННЫЕ ДАННЫЕ. , Что столбец не должен кластеризироваться, но столбец в продукте, который ссылки он мог бы сделать так к хорошему преимуществу.

10
ответ дан 30 November 2019 в 16:58
поделиться
Другие вопросы по тегам:

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