SQL para encontrar si "existe", deja de contar

De acuerdo con una determinada condición, consulte "sí" y "no" de la tabla de la base de datos, solo hay dos estados, entonces, ¿por qué necesita SELECCIONAR el conteo (*) al escribir SQL?

Ya sea un nuevo programador estrella que acaba de ingresar al Tao, o un programador veterano que ha estado en el campo de batalla durante muchos años, siempre cuenta.

La forma actual de escribir de la mayoría de las personas.

Cuando los códigos de REVISIÓN se repiten muchas veces, se encuentran los siguientes fenómenos:

En el código de negocio es necesario consultar si existen registros en base a una o más condiciones, independientemente de cuántos registros existan. El SQL común y la escritura de código son los siguientes

#### Escritura en SQL: 
SELECCIONE el recuento (*) DE la tabla DONDE a = 1 Y b = 2 
####
Escritura en Java: 
int nums = xxDao.countXxxxByXxx(params); 
if ( nums > 0 ) { 
  //cuando Cuando exista, ejecute el código aquí 
} else { 
  //Cuando no exista, ejecute el código aquí 
}

Se siente bien, no hay problema

Recomiende los libros de Spring Boot que lee:

Documentación Tencent

Mejoramiento

El método de escritura recomendado es el siguiente:

#### Escritura de SQL: 
SELECCIONE 1 DE la tabla DONDE a = 1 Y b = 2 LÍMITE 1 
####
Escritura de Java: 
Integer exist = xxDao.existXxxxByXxx(params); 
if (exist != NULL ) { 
  //cuando Cuando exista, ejecute el código aquí 
} else { 
  //Cuando no exista, ejecute el código aquí 
}

SQL ya no se usa count, sino que se usa en su lugar LIMIT 1, de modo que la base de datos regresará cuando encuentre uno, y no continúe buscando cuántos más

Basta con juzgar directamente si no está vacío en el código comercial.

Resumir

Cuantas más entradas se detecten según las condiciones de la consulta, más evidente será la mejora del rendimiento. En algunos casos, también se puede reducir la creación de índices conjuntos.

Si tiene algo que ganar, no sea tacaño con su reenvío y observación.

Supongo que te gusta

Origin blog.csdn.net/suikui/article/details/121618987
Recomendado
Clasificación