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

百拓公司做网站怎么样wordpress 如何结合vue

百拓公司做网站怎么样,wordpress 如何结合vue,国内做性视频网站,营销网页设计PostgreSQL后续简称PG。PG只读事务不会分配事务ID。为了在共享锁等情况下对事务进行标识#xff0c;需要一种非持久化的事务ID#xff0c;即虚拟事务ID#xff0c;vxid。虚拟事务ID不需要把事务ID持久化到磁盘。因为事务ID是很宝贵的资源#xff0c;简单的select语句不会申…PostgreSQL后续简称PG。PG只读事务不会分配事务ID。为了在共享锁等情况下对事务进行标识需要一种非持久化的事务ID即虚拟事务IDvxid。虚拟事务ID不需要把事务ID持久化到磁盘。因为事务ID是很宝贵的资源简单的select语句不会申请事务ID。vxid由两部分组成backendId 和backend本地计数器。查看如下 BEGIN; SELECT locktype,virtualxid,virtualtransaction,mode FROM pg_locks; -- 查看vxid SAVEPOINT p1; SELECT locktype,virtualxid,virtualtransaction,mode FROM pg_locks; -- 子事务的vxid不变 ROLLBACK; SELECT locktype,virtualxid,virtualtransaction,mode FROM pg_locks;vxid的backendId不是真正的进程号PID也只是一个简单的递增的编号。vxid的backendId和命令编号都是递增的。子事务没有自己的vxid他们用父事务的vxid。vxid也有回卷不过问题不严重因为没有持久化实例重启后vxid从头开始计数。 永久事务是指当发生数据变化的事务开始时事务管理器会分配一个唯一事务号标识。后续事务指永久事务。事务号Transaction IDtxid又叫xid是32位无符号整型总共可以存储 232429496729642亿多个事务范围为0~232-1。同一个数据库中存在的最旧和最新事务之间的年龄允许最大为2的31次方约为20亿。其中xid 0InvalidXid无效事务ID。1BootstrapXid表示系统表初始化时的事务ID。最旧。2FrozenXid冻结的事务ID比任何普通的事务ID都旧。 正常事务号从3开始。在PostgreSQL 7.2之前当32位事务ID用完时必须dump然后恢复数据库。之后使用64位I的FullTransactionId获取epoch和xid如下 #define EpochFromFullTransactionId(x) ((uint32) ((x).value 32)) #define XidFromFullTransactionId(x) ((uint32) (x).value)epoch是FullTransactionId右移32位xidTransactionId是FullTransactionId对232取模。这相当于把32位的TransactionId看成“环”循环重复使用64位的FullTransactionId是一直递增的“线”几乎取不完。事务启动后会执行内置txid_current函数该函数会在上次事务加1后返回事务号。 -- PG12及以前用txid_current()。返回的为扩展xiduint64。 SELECT pg_current_xact_id(); SELECT pg_current_xact_id_if_assigned(); -- 返回当前事务id-- 查看系统初始化时的事务ID SELECT xmin,count(*) FROM pg_class WHERE xmin1 GROUP BY xmin;SHOW TRANSACTION_ISOLATION; -- 查看事务隔离级别默认read committed读已提交-- begin不会立即分配事务idbegin后的第一个非查询语句分配事务id -- 当一个事务插入了一tuple后会将事务的txid写入这个tuple的xmin BEGIN; -- 开启事务 INSERT INTO t_test VALUES(1),(2); SAVEPOINT my_save; -- 设定事务保存点 INSERT INTO t_test VALUES(3); ROLLBACK TO my_save; -- 回滚到保存点状态即不要3这个数字 COMMIT; -- 提交后只有1,2事务ID对比的函数结构如下 bool TransactionIdPrecedes(TransactionId id1, TransactionId id2) {/** If either ID is a permanent XID then we can just do unsigned* comparison. If both are normal, do a modulo-2^32 comparison.*/int32 diff;if (!TransactionIdIsNormal(id1) || !TransactionIdIsNormal(id2))return (id1 id2);diff (int32) (id1 - id2);return (diff 0); }函数的基本逻辑为 TransactionIdIsNormal是判断id是否3(FirstNormalTransactionId)。id1-id2结果溢出即超过数据存储范围为使在范围内对数值加减模长232比如231减模长为-231。非正常事务比较当id12id2100时return(2100)结果为真正常事务较新当id1100id22时return (1002)结果为假正常事务较新。正常事务比较当id123199id2100id1-id2231-1。int32可以存放大txid较新当id1231100id2100id1-id2231。超出int32范围值为231-232-231小txid较新相当于看不到id2当id1100id2231100id1-id2-231。这没问题int32刚好可以存放大txid较新当id1100id2231101id1-id2-231-1。超出int32范围此时的值为-231-1232231-10小txid较新此时进入第1次回卷即100大于231101了。为了防止出现两者相差231或231-1将两者差值限制在20亿。这样可以保证提前处理冻结防止出现4的错误情况。 上面比较看出当发生数值溢出时txid大的事务看不见更小的txid事务。为了解决这个问题pg将40亿事务id分成两半一半事务是可见的另一半事务是不可见的。 事务回卷的理解包括两个方面 事务ID回卷是为了让事务ID有一个环的概念这一圈用完了继续向前转继续循环使用。每到达最大值232之后事务ID从下一个3开始只是事务ID的扩展epoch加1。因为事务ID将环分成2半一般可见一般不可见。事务ID跨越超过一半说明事务ID就是回卷了此时超过一半的那部分事务数据虽然存在但无法查到等效于丢失了。为了解决这个问题需要处理冻结事务ID的操作。保证事务ID不超过21亿具体是231-1。冻结的事务ID都是可见的。 为了解决上面2的回卷问题PG采用冻结的方式处理事务ID相关配置参数 vacuum_freeze_min_age元组xmin比当前txid-该参数值的差更旧时会进行freeze也就是有元组年龄或表年龄超过该值后进行freeze。该参数最大值为20亿最小值为2亿。vacuum_freeze_table_age表的年龄超过该值会进行aggressive vacuum。该参数最大值为20亿最小值为1.5亿。如果为0则每次扫描表都进行aggressive vacuum。autovacuum_freeze_max_age表的年龄超过该值强制执行autovacuum。该参数最小值为2亿最大值为20亿。即经过autovacuum_freeze_max_age-vacuum_freeze_min_age的txid增长之后表肯定会被强制进行一次freeze。因为autovacuum_freeze_max_age最大值为20亿所以在两次freeze之间txid的增长肯定不会超过20亿这就保证了上文中所说的20亿原则。 每次表被freeze之后会更新pg_class.relfrozenxid列为本次freeze的最大txid。该列保存对应表最近冻结的txid意味着小于此值的txid均已被冻结。表的年龄为当前最新txid与relfrozenxid的差值。元组年龄其t_xmin与对应表relfrozenxid的差值。
http://www.w-s-a.com/news/863131/

相关文章:

  • 腾讯有做淘宝客网站吗网站开发包
  • 网站整体营销方案网站建设百度贴吧
  • 宣传式网站养生网站模板
  • 临猗网站建设天津做网站哪家服务好
  • 郑州做网站九零后用织梦建设网站的步骤
  • 莱芜网站优化加徽信xiala5江都网站制作
  • 网站开发工具书焦作网站开发公司电话
  • 石狮网站建设报价百度爱采购怎么优化排名
  • 广州网站开发系统如何建设百度网站
  • 免费建立一个个人网站网站流量图怎么做
  • 微信网站建设公司首选网站后台更新 前台不显示
  • 撰写网站专题活动策划方案未成年做网站
  • 免费在线响应式网站自助建站网页设计与网站建设试卷
  • 四川省肿瘤医院搜索优化整站优化
  • 新钥匙建站深圳创业补贴政策2023
  • 建网站需要准备什么网站三个月没排名
  • 网站运营规划网站推广的手段
  • cvm可以做网站服务器吗网片围栏
  • 培训前端网站开发网站开发 群
  • 成都武侯区网站建设wordpress菜单分类目录
  • 牡丹江市西安区建设局网站给公司做的东西放到自己网站上
  • 做网站的前景如何郑州seo规则
  • 学校户网站建设方案专业设计服务
  • 电子商务网站建设好么有一个网站怎么做cpc
  • 镇海住房和建设交通局网站跨境电商就是忽悠人的
  • 维修网站怎么做跨境电商发展现状如何
  • 手机网站设计公司皆选亿企邦桐乡市建设局官方网站
  • 企业培训 电子商务网站建设 图片山东省住房和城乡建设厅网站主页
  • 做酒招代理的网站赣icp南昌网站建设
  • 怎样做网站內链大连市建设工程信息网官网