¿Limitar una consulta a un registro de resultados, mejorar el rendimiento en una tabla MySQL grande (ish) si la tabla solo tiene un resultado coincidente?¿Limitar una consulta a un registro mejora el rendimiento?
por ejemplo
select * from people where name = "Re0sless" limit 1
si sólo hay un registro con ese nombre? y ¿qué pasa si name
fue la clave principal/establecido como único? ¿Vale la pena actualizar la consulta o la ganancia será mínima?
¿Evitará una exploración completa de la tabla o hará que la exploración completa de la tabla se detenga antes de tiempo? Si el registro no está allí, aún tendrá que hacer un escaneo completo y completo de la tabla. –
Sí, tienes razón. Debería haber dicho que "puede" evitar una exploración completa de la tabla. Ajustaré la publicación –
Lo importante aquí, tal como lo entiendo, es que agregar el límite puede hacer que su consulta sea más rápida, pero no la hará más lenta. Si nada más, también sirve para telegrafiar claramente su intención a los futuros desarrolladores, en caso de que tengan que depurar una situación en la que sus condiciones no fueran tan únicas como pensaba que eran. Hago un hábito de agregar siempre una cláusula de límite cada vez que tengo un solo resultado. Es solo un desperdicio de capacidad intelectual para averiguar si un índice preexistente ya lo hubiera hecho por usted. – GrandOpener