Python sqlalchemy下面的查询效率如何优化,pythonsqlalchemy,很简单的一个需求,就是一
Python sqlalchemy下面的查询效率如何优化,pythonsqlalchemy,很简单的一个需求,就是一
很简单的一个需求,就是一个搜索的接口。根据接收到的参数进行查询。
比如:对商品表进行搜索,某个时间段某个商品的品牌。
query_sql = ModelA.query if request.args.has_key("end_date_time") and request.args.has_key("begin_date_time"): query_sql = query_sql.filter(and_(ModelA.DateOfproduction >= request.args["begin_date_time"], ModelA.DateOfproduction < request.args["end_date_time"])) if request.args.has_key("name"): query_sql = query_sql.filter(ModelA.name== request.args["name"]) if request.args.has_key("arg01"): query_sql = query_sql.filter(ModelA.arg01.like("%" + request.args["arg01"] + "%")) data = query_sql.all() count = len(data) if request.args.has_key("page"): page_size = int(request.args["page_size"]) if request.args["page_size"] else 128 page_number = int(request.args["page"]) start_index = (page_number - 1) * page_size end_index = min(page_number * page_size, count) data = query_sql.order_by(ModelA.id)[start_index : end_index] else: data = query_sql.all() return jsonify({"data": [x.export_data() for x in data], "count": count})
1:个人觉得为了得到count多查询一便影响到了性能,这个还有其他办法获得count的值?
2:是否可以对查询条件和对应的结果做缓存?
编橙之家文章,
相关内容
- Python multithreading.Pool多线程bug3770是什么情况,,使用py
- 求分析django工程目录里找不到导入模块原因,django模块
- python高手来说说list和tuple及dict区别在哪里,什么时候用
- Python求直线上一个点用什么方法,Python一个点方法,在一
- 找出python列表中重复项的方法,找出python列表重复,假设
- 扩展dajngo自定义用户系统要怎么实践,dajngo自定义,dj
- 请问django异步请求非阻塞实现原理是怎样的,django异步
- 正则表达式结合断言使用遇到的HTML问题求指点,正则表
- php程序员学Python爬虫,看什么书好?,python爬虫,有1年ph
- pydev启动python程序和直接命令行启动有什么区别,pyde
评论关闭