当前位置: 首页 > news >正文

兰州网站建设加王道下拉网站开发顶岗报告

兰州网站建设加王道下拉,网站开发顶岗报告,安阳网站制作哪家好,福州网站制作哪里好一、背景 在做code review的时候#xff0c;经常会发现#xff0c;因为开发习惯问题#xff0c;很多研发人员喜欢在for循环中查询数据库。今天用一个真实例子#xff0c;记录一次查询性能优化的例子 二、示例 代码如下: classmethod fn_performance() def get_task_ins…一、背景 在做code review的时候经常会发现因为开发习惯问题很多研发人员喜欢在for循环中查询数据库。今天用一个真实例子记录一次查询性能优化的例子 二、示例 代码如下: classmethod fn_performance() def get_task_inst_info(cls, username, ids):获取巡检任务使用实例信息permission_host_list list()check_task_queryset CheckTask.objects.filter(id__inids, task__is_deletedFalse)for check_task in check_task_queryset:instance_permission_dict {instance: check_task.id, name: check_task.task.name, permission: True}instance_info list()obj_ids list(CheckTaskInst.objects.filter(check_taskcheck_task).values_list(obj_id, flatTrue))for obj_id in obj_ids:check_task_inst_queryset CheckTaskInst.objects.filter(check_taskcheck_task, obj_idobj_id)host_instance_list CheckTaskInstIAMSerializer(check_task_inst_queryset, manyTrue).datapermission_host HostIamService.screening_hosts_permissions(username, obj_id, host_instance_list, True)for _instance in permission_host:if not len(_instance[auth_actions]):instance_permission_dict.update({permission: False})instance_info.append({permission: False,inst_id: _instance.get(bk_host_id, _instance.get(bk_inst_id)),inst_name: _instance.get(bk_host_name, _instance.get(bk_inst_name)),})instance_permission_dict.update({instance_info: instance_info})permission_host_list.append(instance_permission_dict)return permission_host_list以上代码存在最大的问题是在循环中查询数据库 实例数量33个执行耗时3s左右 check_task_service.get_task_inst_info(admin,[108]) The [func_name: get_task_inst_info] [func: function CheckTaskService.get_task_inst_info at 0x000001F5108FA620] [args:(class apps.general_check.service.check_task_service.CheckTaskService, admin, [108])] [kwargs: {}] [timer:3.47244s] [threshold:1s], please timely optimize.三、代码优化 优化思路不在循环中查询数据库 优化之后效果显著从3.4s降低到0.17s check_task_service.get_task_inst_info(admin,[108]) The [func_name: get_task_inst_info] [func: function CheckTaskService.get_task_inst_info at 0x0000028FA5BB2620] [args:(class apps.general_check.service.check_task_service.CheckTaskService, admin, [108])] [kwargs: {}] [timer:0.17271s] [threshold:0.1s], please timely optimize.优化后的代码 classmethodfn_performance(threshold0.1)def get_task_inst_info(cls, username, ids):获取巡检任务使用实例信息permission_host_list list()check_task_queryset CheckTask.objects.select_related(task).filter(id__inids, task__is_deletedFalse)check_task_inst CheckTaskInst.objects.filter(check_task_id__inids)check_task_inst_data {}for _task_inst in check_task_inst:check_task_inst_data.setdefault(f{_task_inst.check_task_id}-{_task_inst.obj_id}, []).append(_task_inst)for check_task in check_task_queryset:instance_permission_dict {instance: check_task.id, name: check_task.task.name, permission: True}instance_info list()obj_ids check_task.task.obj_ids.split(,) if check_task.task.obj_ids else []for obj_id in obj_ids:check_task_inst_list check_task_inst_data.get(f{check_task.id}-{obj_id})host_instance_list CheckTaskInstIAMSerializer(check_task_inst_list, manyTrue).datapermission_host HostIamService.screening_hosts_permissions(username, obj_id, host_instance_list, True)for _instance in permission_host:if not len(_instance[auth_actions]):instance_permission_dict.update({permission: False})instance_info.append({permission: False,inst_id: _instance.get(bk_host_id, _instance.get(bk_inst_id)),inst_name: _instance.get(bk_host_name, _instance.get(bk_inst_name))})instance_permission_dict.update({instance_info: instance_info})permission_host_list.append(instance_permission_dict)return permission_host_list
http://www.zqtcl.cn/news/641873/

相关文章:

  • 好的龙岗网站建设附近装修公司电话和地址
  • 网站后台生成文章很慢网络营销毕业设计
  • 如何把资料上传到网站什么叫高端网站定制
  • 郑州企业网站建设团队什么是交换链接
  • 如何建立一个外贸公司网站活动营销的方式有哪些
  • 上海工程造价咨询公司余姚网站seo运营
  • 小加工厂做网站wordpress免费主题破解版
  • 网站打开风险怎么解决企业建设网站网站建设公司
  • 随州网站建设公司wordpress怎样上传主题
  • 做外链等于网站更新么台州椒江网站建设
  • 自己搭建一个博客网站网络营销是什么大类
  • 10元网站备案php企业网站开发实训报告
  • 建筑网站设计大全wordpress模板死循环
  • 网站优化排名软件泌阳网站建设
  • 网站反向绑定域名企业网站的建立网络虚拟社区时对于企业
  • 重庆大渡口网站建设解决方案梓潼 网站建设 有限公司
  • 高端平面网站东营住房和城乡建设厅网站
  • 品牌网站建设e小蝌蚪易时代网站
  • 做搜狗手机网站点击软网站建设有哪些种类
  • 想自学做网站太原要做网站的公司
  • 站内seo优化淘宝网站推广策划方案
  • 福建建设执业注册中心网站网址格式怎么写
  • 网站开发外包公司坑襄垣城乡建设管理局的网站
  • 网络公司怎么做网站常州新北区网站建设
  • 扬州专业外贸网站建设推广做详情页上什么网站找素材
  • 北京做网站设计招聘深圳市住房和建设局官网平台
  • 冻品网站建设网站头图设计
  • 手机网站分辨率做多大h5微网站建设多少钱
  • 网站制作软件下载公司怎么注册邮箱帐号
  • 做婚纱网站的图片园林设计