diff --git a/src/gausse/storage/database.py b/src/gausse/storage/database.py index fcdaff7..031a58d 100644 --- a/src/gausse/storage/database.py +++ b/src/gausse/storage/database.py @@ -178,8 +178,10 @@ def fetch_runs( query = "SELECT * FROM runs WHERE 1=1" params: list = [] if feasible is not None: - query += " AND feasible = ?" - params.append(int(feasible)) + # ЛИТЕРАЛ, не параметр: частичные индексы (… WHERE feasible=1) SQLite + # применяет только когда условие видно при подготовке запроса; с + # `feasible = ?` топ-15 сканировал сотни тысяч строк (~1.2с) + query += f" AND feasible = {int(feasible)}" if min_efficiency is not None: query += " AND efficiency >= ?" params.append(min_efficiency)