Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Diferença entre chave, chave primária, chave única e índice no MySQL


KEY e INDEX são sinônimos no MySQL. Eles significam a mesma coisa. Em bancos de dados, você usaria índices para melhorar a velocidade de recuperação de dados. Um índice é normalmente criado em colunas usadas em JOIN , WHERE e ORDER BY cláusulas.

Imagine que você tenha uma tabela chamada users e você deseja procurar todos os usuários que têm o sobrenome 'Smith'. Sem um índice, o banco de dados teria que passar por todos os registros da tabela:isso é lento, pois quanto mais registros você tiver em seu banco de dados, mais trabalho terá que fazer para encontrar o resultado. Por outro lado, um índice ajudará o banco de dados a pular rapidamente para as páginas relevantes onde os registros 'Smith' são mantidos. Isso é muito semelhante a como nós, humanos, percorremos um diretório de lista telefônica para encontrar alguém pelo sobrenome:Não começamos a procurar no diretório de capa a capa, desde que inserimos as informações em alguma ordem que possamos use para pular rapidamente para as páginas 'S'.

As chaves primárias e as chaves exclusivas são semelhantes. Uma chave primária é uma coluna, ou uma combinação de colunas, que pode identificar exclusivamente uma linha. É um caso especial de chave única . Uma tabela pode ter no máximo uma chave primária, mas mais de uma chave exclusiva. Quando você especifica uma chave exclusiva em uma coluna, duas linhas distintas em uma tabela não podem ter o mesmo valor.

Observe também que as colunas definidas como chaves primárias ou chaves exclusivas são indexadas automaticamente no MySQL.