The concepts like clustering, physical organization, unique, primary, secondary, composite keys — these stuffs are same in all database servers. The commands and their outputs, the last part of ‘what happens under the hood' and creation of primary index only on primary key are very specific to MySQL. In fact in Oracle, there is something called index organized table which is equivalent to clustering index in MySQL. so more or less fundamentals are pretty much same. Regarding how query optimizer chooses which index to use during what kind of query is something which is subjective and I have not discussed them much here.