I am developing a database project on SQL Server and I am thinking whether using columnstore index is a good idea.
The project consists of a table (A) that will hold a large number of rows, with many repeated values for a column. Every day, a pack of new rows will be added to the table, with a "DateId" for each pack.
After that, I will need to update a different table (B) joining with A and filtering A for the "DateId" and other columns.
Example in SQL:
CREATE TABLE A (
[Id] [BIGINT] IDENTITY(1,1) NOT NULL,
[DateId] [INT] NOT NULL,
[B_Id] [BIGINT] NOT NULL,
-- other columns...
INDEX cci_A CLUSTERED COLUMNSTORE
)
CREATE TABLE B (
[Id] [BIGINT] IDENTITY(1,1) NOT NULL,
-- other columns...
INDEX cci_B CLUSTERED COLUMNSTORE
)
UPDATE B
SET ...
FROM A
INNER JOIN B ON A.B_Id = B.Id
WHERE A.DateId = @myDateId
Is columnstore a good choice in this case?