Давайте возьмем эту воображаемую базу данных и скажем, что она действительно огромна с миллионами записей.Это делает запрос в python вместо использования SqlAlchemy ORM для перевода в sql.SQL быстрее обрабатывает запросы, но насколько медленнее этот способ выполнения запросов?Каждый запрос к User.query заставляет python выполнять итерацию по всей базе данных?
Есть ли что-то с выполнением запросов, подобных приведенному ниже, в отличие от использования SQLAlchemy в способе User.filter (~~ еще немного кода ~~)
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
first = db.Column(db.String(100))
last = db.Column(db.String(100))
local = db.Column(db.String(100))
age = db.Column(db.Integer)
all = User.query
for user in all:
if user.first.startswith('j') and user.age > 23:
print(user.first) #or output to jinja templates or json data or whatever