Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

600
Vistas
¿Es más rápido y eficiente en términos de memoria manipular datos en Python o PostgreSQL?

Digamos que tenía una tabla PostgreSQL con 5-6 columnas y unos cientos de filas. ¿Sería más efectivo usar psycopg2 para cargar la tabla completa en mi programa Python y usar Python para seleccionar las filas que quiero y ordenar las filas como deseo? ¿O sería más efectivo usar SQL para seleccionar las filas requeridas, ordenarlas y cargar solo esas filas específicas en mi programa de Python?

Por 'efectivo' me refiero en términos de:

  1. Uso de memoria.
  2. Velocidad.

Además, ¿cómo empezarían a variar estos factores a medida que aumenta el tamaño de la tabla? Digamos, ¿la tabla ahora tiene unos pocos millones de filas?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Casi siempre será más rápido realizar todas estas operaciones en PostgreSQL. Estos sistemas de bases de datos han sido diseñados para escalar bien para grandes cantidades de datos y están altamente optimizados para sus casos de uso típicos. Por ejemplo, no tienen que cargar todos los datos del disco para realizar la mayoría de los filtros básicos [1] .

Incluso si este no fuera el caso, la latencia de la red / el uso por sí solo sería suficiente para equilibrar esto, especialmente si estaba ejecutando la consulta con frecuencia.

over 4 years ago · Santiago Trujillo Denunciar

0

En realidad, si está comparando datos que ya están cargados en la memoria con datos que se recuperan de una base de datos, entonces las operaciones en la memoria a menudo serán más rápidas. Las bases de datos tienen sobrecarga:

  • Están en procesos separados en el mismo servidor o en un servidor diferente, por lo que los datos y los comandos deben moverse entre ellos.
  • Las consultas deben analizarse y optimizarse.
  • Las bases de datos admiten múltiples usuarios, por lo que es posible que se estén realizando otros trabajos consumiendo recursos.
  • Las bases de datos mantienen las propiedades ACID y la integridad de los datos, lo que puede agregar una sobrecarga adicional.

Los dos primeros en particular agregan sobrecarga en comparación con las operaciones en memoria equivalentes para cada consulta.

Eso no significa que las bases de datos no tengan ventajas, particularmente para consultas complejas:

  • Implementan múltiples algoritmos diferentes y tienen un optimizador para elegir el mejor.
  • Pueden aprovechar más recursos, especialmente si se ejecutan en paralelo.
  • Pueden (a veces) almacenar en caché los resultados ahorrando mucho tiempo.

La ventaja de las bases de datos no es que proporcionen el mejor rendimiento todo el tiempo. La ventaja es que proporcionan un buen rendimiento en una amplia gama de solicitudes con una interfaz sencilla (incluso si no te gusta SQL, creo que debes admitir que es más simple, más conciso y más flexible que escribir código en un lenguaje de tercera generación).

Además, las bases de datos protegen los datos a través de las propiedades ACID y otros mecanismos para respaldar la integridad de los datos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda