DISABLE - TRUNCATE - REBUILD vs DROP - TRUNCATE - CREATE for Indexes

  • Hi all -

    Quick question. I have a table with ~60 million rows. The table contains 11 columns, of which 8 of them are foreign keys pointing to lookup tables, and the other 3 being value columns.

    Across each of the 8 foreign key columns, I have an index created, with that column being the sole part of the index. Across two of the three value columns, I also have indexes created. One column is a DATETIME column, while the other is a DECIMAL (12, 2) column.

    For each of the 10 indexes, all columns except the one being indexed, are included as included columns in the index. This is in order to make it so that queries perform up to par.

    As a daily task, the main table, and all the lookup tables, are TRUNCATED, and rebuilt fully.

    The question I have is this - during this operation, I currently DROP all indexes, populate the tables, and then CREATE the indexes again. I want to know if this would be more performant instead, to DISABLE the indexes, TRUNCATE the tables, then REBUILD the indexes, or if it would be the exact same thing.

    Thanks!

  • The same.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply