• The problem here is that the inserts are not in an ever increasing order, possible option would be adding an Identity column for the primary key and then a unique index instead of the old pk, something like this

    😎

    CREATE TABLE dbo.Inventory

    (

    EAN bigint NOT NULL

    ,Day smalldatetime NOT NULL

    ,State int NOT NULL

    ,Quantity int NULL

    ,StockValue float NULL

    ,CONSTRAINT PK_Inventory PRIMARY KEY CLUSTERED

    (

    EAN ASC,

    Day ASC,

    State ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    ) ON [PRIMARY];

    /* Replacing the existing PK with an Identity column and adding a unique index */

    ALTER TABLE dbo.Inventory ADD Inventory_ID BIGINT IDENTITY(1,1) NOT NULL;

    ALTER TABLE dbo.Inventory DROP CONSTRAINT PK_Inventory;

    ALTER TABLE dbo.Inventory ADD CONSTRAINT PK_DBO_INVENTORY_INVENTORY_ID PRIMARY KEY CLUSTERED (Inventory_ID ASC);

    CREATE UNIQUE NONCLUSTERED INDEX UNQNCLIDX_DBO_INVENTORY_EAN_DAY_STATE ON dbo.Inventory ( EAN ASC , Day ASC , State ASC );

    70K p. day mounts only to 25-26 million a year, shouldn't be to hard to handle;-)