Saltar al contenido

¿Cuál es el número máximo de conexiones para una base de datos SQLite3?

Ya no necesitas investigar más en otras páginas porque has llegado al espacio adecuado, tenemos la respuesta que quieres pero sin complicarte.

Solución:

http://sqlite.org/whentouse.html explica “Situaciones en las que otro RDBMS puede funcionar mejor”:

SQLite utiliza bloqueos de lector/escritor en todo el archivo de la base de datos. Eso significa que si algún proceso está leyendo desde cualquier parte de la base de datos, todos los demás procesos no pueden escribir en ninguna otra parte de la base de datos. De manera similar, si algún proceso está escribiendo en la base de datos, todos los demás procesos no pueden leer ninguna otra parte de la base de datos. Para muchas situaciones, esto no es un problema. Cada aplicación hace su trabajo de base de datos rápidamente y continúa, y ningún bloqueo dura más de unas pocas docenas de milisegundos. Pero hay algunas aplicaciones que requieren más simultaneidad, y es posible que esas aplicaciones deban buscar una solución diferente.

Bajo un sistema diferente, este valor puede ser diferente, el código de prueba de Python:

import sqlite3
import sys

# connect to multiple databases
def multi_connect(conn_num):
    dbs = []
    for i in range(0, conn_num):
        try:
            con = sqlite3.connect(str(i) + '.db')
        except Exception as e:
            print('connect to %d.db failed' % i)
            sys.exit(-1)


# multiple connections to single database
def multi_connect2(conn_num):
    db_name = 'x.db'
    conns = []
    for i in range(0, conn_num):
        try:
            conn = sqlite3.connect(db_name)
        except Exception as e:
            print('connect failed at %d' % i)
            sys.exit(-1)

En ubuntu, el recuento fallido es 1021, puede probarlo en diferentes sistemas operativos.

En realidad, no hay un límite predefinido para el número de conexiones simultáneas en sqlite para el mismo proceso. Esto depende del rendimiento de su sistema. La cotización dada por el usuario 647772 es sobre el límite de procesos o aplicaciones concurrentes que usan la misma base de datos sqlite, no es válida para subprocesos concurrentes en el mismo proceso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *