I have a table with many columns of which the total max size greatly exceeds the 8k boundary. This table contains a ModuleID column which basically tells u what type of object it is (dont worry - I didnt design this) of which there are maybe 15 different values. And then it has a unique column called propertyID which is also an IDENTITY(1,1) and then incremented by SQL Server. There is a clustered index on ModuleID, this value is always known for selects, for updates propertyID is used (moduleID is rarely in scope here). Table contains several million rows.
Regarding an INSERT my questions are thus:
a) Does the non-unique clustered key increase the likelyhood of SQL Server holding exclusive page-level locks instead of KEY (row) locks?
b) Changing the clustered key to the unique propertyID which is incremented would enable SQL Server to hold exclusive KEY locks instead, and these would always go into the last page of the clustered index?
Would the fact that the table is (in some installations) partitioned on moduleID change your answers?