Hello, I am currently studying the architecture of indexes. However, I came to a certain point which got me confused. For example, I have a table with 2 columns A and b I create a clustered index on A Assume that the query optimizer will use the clustered index. 1.For clustered index, what data does the intermediate node hold? Are they row locators or do they contain the actual value of A? 2. Does the statement "the leaf node contains the actual data" mean that the leaf node of the clustered index is also the data page? And the index page would not contain a duplicate data page in this case? 3. If the database engine uses a clustered index, will it always use the leaf node of the index? Second example, I have a table with 2 columns A and b and C I create a nonclustered index on A and B, no clustered index has been defined. I issue the select statement: SELECT A, B from table Assume that the query optimizer will use the nonclustered index. 1. For nonclustered index, what data does the intermediate node hold? Are they row locators or do they contain the actual values of A and B? How about the leaf level? Are they row locators or can they contain the actual values of A and B. I've read articles stating that if i include all index keys in my query, then the database engine will only traverse the index and not the actual data. Does this mean that in issuing the query above, I no longer need to go to the actual page (using the row locator found in the leaf node). I hope I am able to state my questions clearly. These are architecture-related questions and I've found some confusing documentations so far. Anyone's expert insights will surely be of great help. Thank you!