Tengo una gran mesa para trabajar. Quiero comprobar si hay algunos registros cuyo parent_id es igual a mi valor de aprobación. Actualmente, lo que implemento esto es mediante el uso de "select count (*) from mytable where parent_id =: id"; si el resultado> 0, significa que existen.¿La forma más rápida de verificar si hay algunos registros en una tabla de base de datos?
Como esta es una tabla muy grande, y no me importa cuál es exactamente el número de registros que existe, solo quiero saber si existe, por lo que creo que count (*) es un poco ineficiente.
¿Cómo implemento este requisito de la manera más rápida? Estoy utilizando Oracle 10.
#Según hibernación Consejos & trucos https://www.hibernate.org/118.html#A2
Se sugiere escribir así:
Entero count = (entero) session.createQuery ("select count (*) desde ... "). uniqueResult();
No sé cuál es la magia de uniqueResult() aquí? ¿Por qué lo hace rápido?
Comparar con "seleccionar 1 de mytable donde parent_id = passingId y rowrum < 2", ¿cuál es más eficiente?
Ni siquiera necesita consultar DUAL - 'seleccione 'Y' de mytable donde parent_id =: id AND ROWNUM = 1' da resultados idénticos. –
Sí, simplemente no me gusta "ROWNUM = 1" - no se siente tan transparente como una consulta EXISTS. Solo yo. –