Qual design de banco de dados é mais rápido: um índice exclusivo e INSERT IGNORE ou usando SELECT para localizar registros existentes?
Eu tenho uma tabela com apenas uma coluna: userid.
Quando um usuário acessa uma determinada página, seu ID do usuário é inserido na tabela. Os userids são únicos, portanto, não deve haver dois dos mesmos userids nessa tabela.
Eu estou considerando dois designs:
Tornando a coluna única e usandoINSERT
comandos toda vez que um usuário acessar essa página.Verificar se o usuário já está registrado na tabela porSELECT
da mesa, entãoINSERT
se nenhum registro for encontrado.Qual deles é mais rápido?