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

行业网站有哪些平台优化营商环境心得体会个人

行业网站有哪些平台,优化营商环境心得体会个人,威联通231p做网站,百度广告平台django中如何开启事务 # 事务的四大特性: # 简称: ACID# A: 原子性事务对数据的修改操作要么同时成功, 要么一个都别想成功(回滚)# C: 一致性事务的执行必然是从一个一致性的状态, 转变到另一个一致性的状态.# I: 隔离性对于并发的事务, 每个事务之间是互相隔离的, 互不影响的.…django中如何开启事务 # 事务的四大特性: # 简称: ACID# A: 原子性事务对数据的修改操作要么同时成功, 要么一个都别想成功(回滚)# C: 一致性事务的执行必然是从一个一致性的状态, 转变到另一个一致性的状态.# I: 隔离性对于并发的事务, 每个事务之间是互相隔离的, 互不影响的. 如果是争对同一份数据的修改操作, 那么将并发变成串行, 牺牲了效率, 但是保证了数据的安全.# D: 持久性:事务执行完毕对数据的修改操作是永久性的. 即便在数据库管理系统异常, 提交的结果对数据的修改也是永久的.# 原生SQL中的事务操作步骤1. 开启 start transaction;2. 回滚 rollback;3. 确认 commit; from django.db import transaction try:with transaction.atomic():# ORM执行SQL语句...# 在with代码快内书写的所有orm操作都是属于同一个事务 except Exception as e:print(e)print(执行其他操作) orm语句的特点: 惰性查询 如果你仅仅只是书写了orm语句 在后面根本没有用到该语句所查询出来的参数 那么orm会自动识别 直接不执行惰性: res models.Book.objects.all() 执行: print(res)Django ORM执行原生SQL extra: 标识要做格外的操作 select{publish_date: date_format(publish_date, %%Y-%%m)}: 执行原生的sql语句用到原生sql日期函数date_formatpublish_date: 定义一个key, 通过values后面可以拿到结果. 类始于annotate分组一样# 需求: 查询数据名称和出版时间(年-月) res models.Book.objects.extra(select{publish_date: date_format(publish_date, %%Y-%%m)}).values(name, publish_date) print(res) # QuerySet [{publish_date: 2020-05, name: 西游记}, {publish_date: 2020-05, name: 水浒传}]数据库查询优化 1. only 和 defer 使用: 直接在objects后面连用 返回: only 和 defer都返回QuerySet对象 区别: only: only括号内指定的字段, 在被查询的时候不会走数据库. defer: defer括号内指定的字段, 在被查询的时候会走数据库 特殊: 如果仅仅使用all. 没有执行结果它是惰性的, 但是一旦执行过一次. 第二次拿到all的返回值. 是不需要重新走数据库 # 1. only # res models.Publish.objects.only(name) res models.Publish.objects.all() print(res) # QuerySet [Publish: 东方出版社, Publish: 北方出版社] for i in res:print(i.name) # 点击only括号内的字段不会走数据库for i in res:print(i.addr) # 点击only括号内没有的字段会重新走数据库. 如果是all的情况就不需要走.(0.001) SELECT app01_publish.id, app01_publish.addr FROM app01_publish WHERE app01_publish.id 1; args(1,) (0.001) SELECT app01_publish.id, app01_publish.addr FROM app01_publish WHERE app01_publish.id 2; args(2,) # 2. defer res models.Publish.objects.defer(name) print(res) # QuerySet [Publish: 东方出版社, Publish: 北方出版社]for i in res:print(i.name) # 点defer括号内的字段会走数据库(0.000) SELECT app01_publish.id, app01_publish.name FROM app01_publish WHERE app01_publish.id 1; args(1,) (0.000) SELECT app01_publish.id, app01_publish.name FROM app01_publish WHERE app01_publish.id 2; args(2,) for i in res:print(i.addr) # 点defer括号内的字段不会走数据库 2. select_related 和 prefetch_related 使用: 直接在objects后面连用 返回: only 和 defer都返回QuerySet对象 区别: select_related: 内部使用连表查询. !!注意:!! 括号内只能放外键字段. 且只支持一对一, 一对多的表关系. 多对多不支持.内部通过1次性将2表查询出来封装成对象中, 下次查询这2表就无序走数据库了.prefetch_related: 内部使用子查询. 内部通过2次性将子查询结果查询出封装成对象中.下次查询这2表就无序走数据库了. (感觉视角: 感觉是一次性搞定的) # 1. select_related 连表查询select_related内部直接先将Author与author_detail表连起来 然后一次性将大表里面的所有数据, 全部封装给查询出来的对象. 这个时候对象无论是点击book表的数据还是publish的数据都无需再走数据库查询了res models.Author.objects.select_related(author_detail) for i in res:print(i.author_detail.phone)(0.001) SELECT app01_author.id, app01_author.name, app01_author.age, app01_author.author_detail_id, app01_authordetail.id, app01_authordetail.phone, app01_authordetail.addr FROM app01_author INNER JOIN app01_authordetail ON (app01_author.author_detail_id app01_authordetail.id); args() # 下次查询这2表就无序走数据库了. for i in res:print(i.author_detail.phone) # prefetch_related 子查询 prefetch_related该方法内部其实就是子查询 将子查询查询出来的所有结果也给你封装到对象中 给你的感觉好像也是一次性搞定的res models.Author.objects.prefetch_related(author_detail) for i in res:print(i.author_detail.phone) (0.000) SELECT app01_author.id, app01_author.name, app01_author.age, app01_author.author_detail_id FROM app01_author; args() (0.001) SELECT VERSION(); argsNone (0.000) SELECT app01_authordetail.id, app01_authordetail.phone, app01_authordetail.addr FROM app01_authordetail WHERE app01_authordetail.id IN (1, 2, 3); args(1, 2, 3) # 下次查询这2表就无序走数据库了. for i in res:print(i.author_detail.phone) in_bulk 根据主键ID进行查找 dic_obj models.Book.objects.in_bulk([1, 2]) print(type(dic_obj)) # class dict for pk, book_obj in dic_obj.items():print(pk, book_obj.name) 1 西游记 2 水浒传
http://www.sadfv.cn/news/143931/

相关文章:

  • 中山商城网站建设wordpress网页静态化
  • 丽江建网站上海企业信息登记号查询
  • 摄影网站做画册那个网站卖做防水的烤枪
  • 站长 网站ip单页网站 营销
  • 专门卖建筑材料的网站常州网站建设公司推荐
  • 珍佰农 商城网站建设个人工作室项目
  • 福建省建设厅网站林瑞良网站结构流程图怎么做
  • 网站展示型推广常用的网络营销推广方法有哪些
  • asp.net窗体网站简单网站建设视频
  • 微信公众号如何做微网站做资源网站怎么不封
  • 沈阳医疗网站建设文章列表页wordpress
  • 云梦网络做网站学做招投标的网站有哪些
  • 程序员 修电脑 做网站怎样查网站有没有备案
  • 东莞企业网站建设价格wordpress自动推送工具代码
  • 虚拟机中建设iis网站河南做网站推广
  • 深圳网站推广优如何用织梦建网站
  • 渠道建设网站想学动漫设计报什么专业
  • 如何做关于橱柜网站网页浏览器cookie
  • 营销型科技网站建设阿里云有主体新增网站
  • 安阳网站制作成都知名建筑公司排名
  • 网站名词解释做一个网站 如何盈利
  • 天津市建行网站系统开发平台
  • 做网站补贴中国建设银行官方网站
  • 企业为什么需要手机网站软件定制网站建设
  • 网站建设需要什么证件湘潭网站建设口碑好磐石网络
  • 网站建设公司问答营销案例怎么做有优惠券的网站
  • 定制企业网站费用织梦网站必须下载
  • 怎么做直播网站刷弹幕地方门户网站的分类
  • 响应式网站优点崇明建设小学网站
  • 如何开一家网站建设公司?手机网站开发标准