Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

458
Visualizações
mysql> SELECT COUNT(*) vs SHOW TABLE STATUS para el conteo de filas

Tenemos una tabla en nuestra base de datos que tiene decenas de millones de entradas (10.1.21-MariaDB; motor de tabla InnoDB; sistema operativo Windows). Podemos obtener el número de filas en la tabla instantáneamente usando el comando SHOW TABLE STATUS LIKE 'my_table_name' . Sin embargo, SELECT COUNT(*) FROM my_table_name tarda unos minutos en completarse.


P) ¿Por qué SHOW TABLE STATUS LIKE 'my_table_name' es mucho más rápido que SELECT COUNT(*) FROM my_table_name ?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Porque una es una consulta que cuenta todas las filas y la otra es un comando que recupera las estadísticas que el motor de base de datos mantiene sobre la tabla. No hay ninguna garantía firme de que la estadística de la tabla esté actualizada, por lo que la única forma de obtener un recuento preciso es contar las filas, pero es posible que no necesite que sea perfectamente preciso todo el tiempo. Por lo tanto, puede elegir cualquiera, dependiendo de su deseo de precisión frente a velocidad, etc.

Vea aquí esta captura de pantalla de https://pingcap.com/docs/stable/sql-statements/sql-statement-show-table-status/

ingrese la descripción de la imagen aquí

Puede ver que el ejemplo inserta 5 filas, pero las estadísticas de la tabla están desactualizadas y la tabla todavía informa 0 filas. Ejecutar ANALYZE TABLE llevará (probablemente) más tiempo que contar las filas, pero las estadísticas estarán actualizadas (al menos durante un tiempo) después.

over 4 years ago · Santiago Trujillo Relatório

0

Un enfoque sugerido para obtener un recuento razonablemente preciso del tamaño de la tabla, cuando SELECT COUNT(*) tarda mucho en completarse, podría ser:
ANALYZE TABLE my_table_name; SHOW TABLE STATUS LIKE 'my_table_name';

Esto resulta especialmente útil cuando se importa una gran cantidad de datos a una tabla y desea realizar un seguimiento del progreso del proceso de importación.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda