What does it mean that a "clustered index does not store pointers to the data"?
No, that's not a bad question.
In MS SQL Server (and others that work similarly), a clustered index doesn't store pointers to the data because it doesn't need to, a clustered index actually contains the table data itself.
A clustered index is the table, just ordered in a particular way.
If you create and populate a brand new table with no clustered index (called a &quot;heap&quot;), then add a non-clustered index, you're creating a new (ordered) object that still has to point to the rows in the actual table.
But if you take that heap and add a clustered index, you are literally re-ordering the table itself.