gpt4 book ai didi

mysql - 如何使用 AWS rds-data 使用 boto3 和 AWS-aurora 对我的 mysql 查询进行分页?

转载 作者:行者123 更新时间:2023-12-05 06:16:07 25 4
gpt4 key购买 nike

我正在使用 Boto3 从 AWS Lambda 查询 AWS Aurora (MySQL) 无服务器。我想查询一个记录超过 10k 的表。我的查询可以获取超过 7k 的记录。现在我如何在数据库级别或 Lambda 级别对这些数据进行分页,以便每页获得更少的数据并将该小数据集发送到用户界面进行显示?我无法发送包含 7k 条记录的整个数据集。

这是我的 Python 代码

rdsDataClient.execute_statement(resourceArn=cluster_arn,
secretArn=secret_arn,
database='myTestDB',
sql=sqlQuery,
parameters = paramSet
)

我知道 SQL 查询 LIMIT 和 OFFSET 但想知道是否有任何其他更好的方法来执行此操作。请帮忙。

谢谢。

最佳答案

是的,我使用了将限制和偏移量传递给 sqlQuery 的方法。这是我做的

def lambda_handler(event, context):
queryParameters = event["queryStringParameters"]
search = getQueryStringElement("search", queryParameters, '')
pageSize = int(getQueryStringElement("pageSize", queryParameters, 5))
page = int(getQueryStringElement("page", queryParameters, 1))

limit = pageSize
offset = (pageSize * page) - pageSize

sqlQuery = sqlQuery + ' LIMIT {} OFFSET {} ;'.format(limit, offset)

rdsDataClient.execute_statement(resourceArn=cluster_arn,
secretArn=secret_arn,
database='myTestDB',
sql=sqlQuery,
parameters = paramSet
)

这个解决方案非常适合我以前在 UI 中显示分页记录列表的用例

谢谢

关于mysql - 如何使用 AWS rds-data 使用 boto3 和 AWS-aurora 对我的 mysql 查询进行分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62221470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com