• I didnt say index is a replacement for foreign key. I says that query performance depends on the indexes not on referential integrity components. even it helps in generating a good execution plan, we always have the option of changing the execution plan using the query hints.

    So why we need to sacrifice the insert/update operations performance.

    When we define our transactions tables with more foreign keys/constraints, it in turn reduce the insert/update operation performance.

    Most of the transactions details will be retrieved using the index columns. then it will be joined with other references to get appropriate information. So retrieving data from transactions table will always be faster and it needs less/no optimization plans.

    Regards

    VMSSanthosh