A importância do índice em um banco de dados!!!!
MongoDB - tabela com 100005.0 registros
-- Pequisa pelo campo "author" sem índice
db.getCollection("employee").find({author: "Dante"}).explain(true);
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 1.0,
"executionTimeMillis" : 6.0,
"totalKeysExamined" : 0.0,
"totalDocsExamined" : 100005.0 <-- total de registro
-- foi obrigado a percorrer todo banco banco de dado
}
-- Pequisa pelo campo "author" com índice
db.getCollection("employee").find({author: "Dante"}).explain(true);
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 1.0,
"executionTimeMillis" : 0.0,
"totalKeysExamined" : 1.0,
"totalDocsExamined" : 1.0, <-- total de registro
-- foi direto no registro e não importa a posição dele no banco
}
Com isso o tempo de resposta diminui bastante!!!
Por isso sempre é bom na modelagem criar os ídices necessários para uma boa performance do SGDB.