As colunas que não são índices são classificadas no disco juntamente com o índice, no MySQL, no MyISAM e no InnoDB?
Um pensamento incorreto que comecei a escrever:
Eu acho que provavelmente não, pois eles não são indexados; se eles foram classificados, isso significa que são índices.
Isso não está correto porque cada coluna de índice é classificada pela ordem do seu próprio conteúdo, mas estou perguntando sobre a ordem de cada linha (ou de apenas algumas colunas) com seu índice correspondente.
Para explicar, eu digo: isso seria útil para acelerar a seleção de intervalos de linhas, que ficam lado a lado, juntos, por seus índices. Por exemplo, se eu quiser select * where id >1000 and id<2000
(pode haver erros na sintaxe do MySQL, eu não a conheço bem), a própria coluna id pode ser lida rapidamente do disco, porque provavelmente suas células de 1000 a 2000 permanecem juntas no disco físico . Mas outro conteúdo da coluna correspondente à identificação 1000 a 2000 pode ser gravado em locais diferentes no disco físico. Se eles também forem classificados, eles serão lidos mais rapidamente. Eu acho que talvez o MySQL classifique automaticamente essas colunas no disco físico, para desempenho de tais operações.
Eles são classificados em outros tipos de bancos de dados (PostgreSQL, etc.)?
27 de dezembro: Vejo pelas 2 respostas que, no caso de índice / chave primária em cluster, as próprias linhas simples não são classificadas no disco físico (como eu pensava que poderia / poderia ser), e até o índice em cluster é não classificado, se for b-tree, li sobre b-tree e vi que seus nós, como eu entendo, permanecem em locais aleatórios no disco.
fonte