Performance: Connection pooling
HIGH IMPACT
Connection pooling affects how quickly the backend can handle database requests, impacting server response time and user experience.
from flask import Flask def create_app(): from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker app = Flask(__name__) engine = create_engine('sqlite:///database.db', pool_size=5, max_overflow=10) db_session = scoped_session(sessionmaker(bind=engine)) @app.route('/') def index(): data = db_session.execute('SELECT * FROM table').fetchall() return str(data) @app.teardown_appcontext def shutdown_session(exception=None): db_session.remove() return app
from flask import Flask import sqlite3 app = Flask(__name__) def get_db_connection(): conn = sqlite3.connect('database.db') return conn @app.route('/') def index(): conn = get_db_connection() data = conn.execute('SELECT * FROM table').fetchall() conn.close() return str(data)
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| No connection pooling (new connection per request) | N/A | N/A | Increases server response time delaying paint | [X] Bad |
| Connection pooling with SQLAlchemy engine | N/A | N/A | Faster server response enables quicker paint | [OK] Good |