From 74586ee630e938baa13d0044a992065057a5031a Mon Sep 17 00:00:00 2001 From: junjun <752696511@qq.com> Date: Wed, 24 Sep 2025 21:08:16 +0800 Subject: [PATCH] perf: Optimize the speed of data querying --- backend/apps/datasource/crud/datasource.py | 24 ++++++++++++---------- backend/apps/datasource/crud/permission.py | 2 ++ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/backend/apps/datasource/crud/datasource.py b/backend/apps/datasource/crud/datasource.py index 97a9fd22..43dfed4f 100644 --- a/backend/apps/datasource/crud/datasource.py +++ b/backend/apps/datasource/crud/datasource.py @@ -384,17 +384,19 @@ def get_table_schema(session: SessionDep, current_user: CurrentUser, ds: CoreDat else: schema_table += f", {table_comment}\n[\n" - field_list = [] - for field in obj.fields: - field_comment = '' - if field.custom_comment: - field_comment = field.custom_comment.strip() - if field_comment == '': - field_list.append(f"({field.field_name}:{field.field_type})") - else: - field_list.append(f"({field.field_name}:{field.field_type}, {field_comment})") - schema_table += ",\n".join(field_list) - schema_table += '\n]\n' + if obj.fields: + field_list = [] + for field in obj.fields: + field_comment = '' + if field.custom_comment: + field_comment = field.custom_comment.strip() + if field_comment == '': + field_list.append(f"({field.field_name}:{field.field_type})") + else: + field_list.append(f"({field.field_name}:{field.field_type}, {field_comment})") + schema_table += ",\n".join(field_list) + schema_table += '\n]\n' + t_obj = {"id": obj.table.id, "schema_table": schema_table} tables.append(t_obj) all_tables.append(t_obj) diff --git a/backend/apps/datasource/crud/permission.py b/backend/apps/datasource/crud/permission.py index be91f350..87071812 100644 --- a/backend/apps/datasource/crud/permission.py +++ b/backend/apps/datasource/crud/permission.py @@ -37,6 +37,7 @@ def get_row_permission_filters(session: SessionDep, current_user: CurrentUser, d if p_list is not None and u_list is not None and permission.id in p_list and ( current_user.id in u_list or f'{current_user.id}' in u_list): flag = True + break if flag: res.append(transRecord2DTO(session, permission)) where_str = transFilterTree(session, res, ds) @@ -64,6 +65,7 @@ def get_column_permission_fields(session: SessionDep, current_user: CurrentUser, if p_list is not None and u_list is not None and permission.id in p_list and ( current_user.id in u_list or f'{current_user.id}' in u_list): flag = True + break if flag: permission_list = json.loads(permission.permissions) fields = filter_list(fields, permission_list)