From 34bc16aa591a2f02b2bb33277d33e5bccfb95569 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Fri, 28 Feb 2020 16:19:23 -0800 Subject: [PATCH] Only attempt counts for databases < 100MB --- datasette/views/index.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/datasette/views/index.py b/datasette/views/index.py index f2e5f77414..fe88a38c27 100644 --- a/datasette/views/index.py +++ b/datasette/views/index.py @@ -11,8 +11,8 @@ # Truncate table list on homepage at: TRUNCATE_AT = 5 -# Only attempt counts if less than this many tables: -COUNT_TABLE_LIMIT = 30 +# Only attempt counts if database less than this size in bytes: +COUNT_DB_SIZE_LIMIT = 100 * 1024 * 1024 class IndexView(BaseView): @@ -29,7 +29,7 @@ async def get(self, request, as_format): views = await db.view_names() # Perform counts only for immutable or DBS with <= COUNT_TABLE_LIMIT tables table_counts = {} - if not db.is_mutable or len(table_names) <= COUNT_TABLE_LIMIT: + if not db.is_mutable or db.size < COUNT_DB_SIZE_LIMIT: table_counts = await db.table_counts(10) # If any of these are None it means at least one timed out - ignore them all if any(v is None for v in table_counts.values()):