У меня есть бизнес, который нужно запускать ежедневно и который будет влиять на все строки в таблицах. Как только запись исправлена и не может измениться по логике, она перемещается в таблицу на диске. В максимуме будет около 30 миллионов строк в таблице. Это очень тощий, только элементы привязки к главной таблице и ключ к таблице флагов. Ключ флага - это то, что будет обновлено.
У меня вопрос, когда я готовлю таблицу такого размера, какой размер сегмента я должен использовать для индекса?
Таблица начнется с небольшого размера, вероятно, всего в несколько сотен тысяч строк в апреле, но к концу финансового года она вырастет до максимального значения, указанного в предыдущих годах, и я не уверен, что это практически пустое ведро в начале будет иметь какие-либо проблемы или, если это нормально, счет на отметке 30 миллионов.
Заранее благодарим вас за комментарии, предложения и помощь.
Я предоставил приведенный ниже код и попробовал поискать, что происходит, если число сегментов велико, но начальное количество строк мало, поскольку таблица со временем растет, но не нашла ничего, что помогло бы мне понять, будет ли из-за этого проблема с производительностью.
CREATE TABLE [PRD].[CTRL_IN_MEM]
(
[FILE_LOAD_ID] INT NOT NULL,
[RECORD_IDENTIFIER] BIGINT NOT NULL,
[FLAG_KEY] SMALLINT NOT NULL,
[APP_LEVEL_PART] BIT NOT NULL
--Line I'm not sure about
CONSTRAINT [pk_CTRL_IN_MEM] PRIMARY KEY NONCLUSTERED HASH ([FILE_LOAD_ID], [RECORD_IDENTIFIER]) WITH (BUCKET_COUNT = 30000000),
INDEX cci_CTRL_IN_MEM CLUSTERED COLUMNSTORE
) WITH (MEMORY_OPTIMIZED = ON, DURABILITY=SCHEMA_AND_DATA)