{"kind": "storage", "major": "18", "item": {"slug": "storage-hot", "name": "Heap-Only Tuples ( HOT )", "name_zh": "", "category": "\u7269\u7406\u7ed3\u6784", "summary": "\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002", "aliases": [], "content_hash": "2cf1c6064645d3306a9fbeb76752dc7f050d0a709390aeb08f36717492cabd5d", "versions": {"11": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/relopts/?v=11", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "stable", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "https://pg.center/docs/11/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 11 English manual", "sha256": "b8059d9d68ff54c7025b275af572c8bcbd187101417c6a594441f29cae47e037", "language": "en", "original_url": "/docs/11/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">69.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\uff08\u5305\u62ec\u8868\u8fbe\u5f0f\u7d22\u5f15\u548c\u90e8\u5206\u7d22\u5f15\uff09\u5f15\u7528\u7684\u4efb\u4f55\u5217\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u884c\u7684\u65e7\u7248\u672c\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u8fd9\u662f\u56e0\u4e3a\u7d22\u5f15\u5e76\u4e0d\u5f15\u7528\u5b83\u4eec\u7684<a class=\"link\" href=\"/docs/11/storage-page-layout.html\" title=\"69.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u603b\u4e4b\uff0c\u53ea\u6709\u5728\u7d22\u5f15\u4f7f\u7528\u7684\u5217\u672a\u88ab\u66f4\u65b0\u65f6\uff0c\u624d\u80fd\u4ea7\u751f\u5806\u5185\u5143\u7ec4\u66f4\u65b0\u3002\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/11/sql-createtable.html\" title=\"CREATE TABLE\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/11/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW\" title=\"\u8868\u00a028.13.\u00a0pg_stat_all_tables \u89c6\u56fe\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/11/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/11/storage-hot.html", "method": "same-major semantic node", "sha256": "082e1b4fcf83599df766d9d6e3a6ca7088c53bf4eb3645639928f714db78db9f", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/11/facts/0/label": "Definition scope", "/versions/11/facts/0/value": "Same-version core physical storage documentation", "/versions/11/related/0/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "9dde9fbc23a14dc2ffedd35d421f161dd8a1111484bd3e59ea4cda3a7de375f5"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "12": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=12", "label": "Table AM"}, {"url": "/wiki/relopts/?v=12", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "stable", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "https://pg.center/docs/12/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 12 English manual", "sha256": "542148afd017c2de963e269f0482c2d221d0538dcf3e677d662a29e5a044e906", "language": "en", "original_url": "/docs/12/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">69.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\uff08\u5305\u62ec\u8868\u8fbe\u5f0f\u7d22\u5f15\u548c\u90e8\u5206\u7d22\u5f15\uff09\u5f15\u7528\u7684\u4efb\u4f55\u5217\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u884c\u7684\u65e7\u7248\u672c\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u8fd9\u662f\u56e0\u4e3a\u7d22\u5f15\u5e76\u4e0d\u5f15\u7528\u5b83\u4eec\u7684<a class=\"link\" href=\"/docs/12/storage-page-layout.html\" title=\"69.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u603b\u4e4b\uff0c\u53ea\u6709\u5728\u7d22\u5f15\u4f7f\u7528\u7684\u5217\u672a\u88ab\u66f4\u65b0\u65f6\uff0c\u624d\u80fd\u4ea7\u751f\u5806\u5185\u5143\u7ec4\u66f4\u65b0\u3002\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/12/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/12/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW\" title=\"\u8868\u00a027.14.\u00a0pg_stat_all_tables \u89c6\u56fe\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/12/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/12/storage-hot.html", "method": "same-major semantic node", "sha256": "186bff050a116a5313e2fc850e44c31f918319af3111fdea390ad3b5ddd1ab1d", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/12/facts/0/label": "Definition scope", "/versions/12/facts/0/value": "Same-version core physical storage documentation", "/versions/12/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "cf9d4045230590961ab7a4b7c380b4df415a90d8f29ff0dd776d209b5d8fd2e8"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "13": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=13", "label": "Table AM"}, {"url": "/wiki/relopts/?v=13", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "stable", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "https://pg.center/docs/13/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 13 English manual", "sha256": "53c16d6399cb9405b10ada745f4811e61a208b129e55658316ce78dde6f1c72e", "language": "en", "original_url": "/docs/13/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">69.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\uff08\u5305\u62ec\u8868\u8fbe\u5f0f\u7d22\u5f15\u548c\u90e8\u5206\u7d22\u5f15\uff09\u5f15\u7528\u7684\u4efb\u4f55\u5217\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u884c\u7684\u65e7\u7248\u672c\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u8fd9\u662f\u56e0\u4e3a\u7d22\u5f15\u5e76\u4e0d\u5f15\u7528\u5b83\u4eec\u7684<a class=\"link\" href=\"/docs/13/storage-page-layout.html\" title=\"69.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u603b\u4e4b\uff0c\u53ea\u6709\u5728\u7d22\u5f15\u4f7f\u7528\u7684\u5217\u672a\u88ab\u66f4\u65b0\u65f6\uff0c\u624d\u80fd\u4ea7\u751f\u5806\u5185\u5143\u7ec4\u66f4\u65b0\u3002\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/13/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/13/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.13.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/13/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/13/storage-hot.html", "method": "same-major semantic node", "sha256": "7ade566861a46d0ad7555ad1f3501130ac047f17b57ec21e013ee12d7d35e57d", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/13/facts/0/label": "Definition scope", "/versions/13/facts/0/value": "Same-version core physical storage documentation", "/versions/13/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "5e62ebb664261c12050d902a7ddb0d0ad245f9d27a3dfbddf95f7c4509d213f3"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "14": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=14", "label": "Table AM"}, {"url": "/wiki/relopts/?v=14", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "https://pg.center/docs/14/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 14 English manual", "sha256": "0a19c2cba66e8ded09f20039eeb46932c988a5dfc56f4caa9e40a1c20f1d3c02", "language": "en", "original_url": "/docs/14/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">70.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\uff08\u5305\u62ec\u8868\u8fbe\u5f0f\u7d22\u5f15\u548c\u90e8\u5206\u7d22\u5f15\uff09\u5f15\u7528\u7684\u4efb\u4f55\u5217\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u884c\u7684\u65e7\u7248\u672c\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u8fd9\u662f\u56e0\u4e3a\u7d22\u5f15\u5e76\u4e0d\u5f15\u7528\u5b83\u4eec\u7684<a class=\"link\" href=\"/docs/14/storage-page-layout.html\" title=\"70.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u603b\u4e4b\uff0c\u53ea\u6709\u5728\u7d22\u5f15\u4f7f\u7528\u7684\u5217\u672a\u88ab\u66f4\u65b0\u65f6\uff0c\u624d\u80fd\u4ea7\u751f\u5806\u5185\u5143\u7ec4\u66f4\u65b0\u3002\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/14/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/14/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"28.2.15.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/14/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/14/storage-hot.html", "method": "same-major semantic node", "sha256": "76153e1723c9a0b2a4a26949e2b0f4de8edc3e2c466dc7be5b15630733a5d8cc", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/14/facts/0/label": "Definition scope", "/versions/14/facts/0/value": "Same-version core physical storage documentation", "/versions/14/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "2e69328832b75ca836c62abe034fe8ad2736232e3e6f304be8d048a6cbc0ffff"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "15": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=15", "label": "Table AM"}, {"url": "/wiki/relopts/?v=15", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "https://pg.center/docs/15/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 15 English manual", "sha256": "31355e5d6862558e5792566b5af1ac97482933346a8dfc4973df0751be3b2efc", "language": "en", "original_url": "/docs/15/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">73.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\uff08\u5305\u62ec\u8868\u8fbe\u5f0f\u7d22\u5f15\u548c\u90e8\u5206\u7d22\u5f15\uff09\u5f15\u7528\u7684\u4efb\u4f55\u5217\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u884c\u7684\u65e7\u7248\u672c\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u8fd9\u662f\u56e0\u4e3a\u7d22\u5f15\u5e76\u4e0d\u5f15\u7528\u5b83\u4eec\u7684<a class=\"link\" href=\"/docs/15/storage-page-layout.html\" title=\"73.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u603b\u4e4b\uff0c\u53ea\u6709\u5728\u7d22\u5f15\u4f7f\u7528\u7684\u5217\u672a\u88ab\u66f4\u65b0\u65f6\uff0c\u624d\u80fd\u4ea7\u751f\u5806\u5185\u5143\u7ec4\u66f4\u65b0\u3002\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/15/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/15/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"28.2.17.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/15/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/15/storage-hot.html", "method": "same-major semantic node", "sha256": "fdef2f06daaae430f3abb1cba828221facc1f4378cbfb8291c19cdf9e5a6d37d", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/15/facts/0/label": "Definition scope", "/versions/15/facts/0/value": "Same-version core physical storage documentation", "/versions/15/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "fba7e405fd27336392a86339965e9c5a3ce283b9f10c394d3952e3862a684d85"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "16": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=16", "label": "Table AM"}, {"url": "/wiki/relopts/?v=16", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "https://pg.center/docs/16/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 16 English manual", "sha256": "46611e7b1a1f0dca5a5a6f0b103031a24e882f833efce1e03b0f88ff6c5e6f6c", "language": "en", "original_url": "/docs/16/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">73.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\u5f15\u7528\u7684\u4efb\u4f55\u5217\uff0c\u6458\u8981\u7d22\u5f15\u9664\u5916\u3002\u6838\u5fc3 <span class=\"productname\">PostgreSQL</span> \u53d1\u884c\u7248\u4e2d\u552f\u4e00\u7684\u6458\u8981\u7d22\u5f15\u65b9\u6cd5\u662f <a class=\"link\" href=\"/docs/16/brin.html\" title=\"\u7b2c\u00a071\u00a0\u7ae0\u00a0BRIN \u7d22\u5f15\">BRIN</a>\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\uff0c\u4e0d\u8fc7\u6458\u8981\u7d22\u5f15\u4ecd\u53ef\u80fd\u9700\u8981\u66f4\u65b0\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u884c\u7684\u65e7\u7248\u672c\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u8fd9\u662f\u56e0\u4e3a\u7d22\u5f15\u5e76\u4e0d\u5f15\u7528\u5b83\u4eec\u7684<a class=\"link\" href=\"/docs/16/storage-page-layout.html\" title=\"73.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/16/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/16/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"28.2.18.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/16/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/16/storage-hot.html", "method": "same-major semantic node", "sha256": "517ac8f08688f93c18214c784f69135d2038dbafa96b7c60a74b3622ff429266", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/16/facts/0/label": "Definition scope", "/versions/16/facts/0/value": "Same-version core physical storage documentation", "/versions/16/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e55890722ef24de550a71797ae29922c32afe48d9615ee93e99dfda4dbc503ed"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "17": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=17", "label": "Table AM"}, {"url": "/wiki/relopts/?v=17", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "https://pg.center/docs/17/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 17 English manual", "sha256": "97cea1175079a02c0e4df4f0d127902e35f32306296ef7bceed9f1fc8adae908", "language": "en", "original_url": "/docs/17/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">65.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\u5f15\u7528\u7684\u4efb\u4f55\u5217\uff0c\u6458\u8981\u7d22\u5f15\u9664\u5916\u3002\u6838\u5fc3 <span class=\"productname\">PostgreSQL</span> \u53d1\u884c\u7248\u4e2d\u552f\u4e00\u7684\u6458\u8981\u7d22\u5f15\u65b9\u6cd5\u662f <a class=\"link\" href=\"/docs/17/brin.html\" title=\"64.5.\u00a0BRIN \u7d22\u5f15\">BRIN</a>\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\uff0c\u4e0d\u8fc7\u6458\u8981\u7d22\u5f15\u4ecd\u53ef\u80fd\u9700\u8981\u66f4\u65b0\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5f53\u4e00\u884c\u88ab\u591a\u6b21\u66f4\u65b0\u65f6\uff0c\u9664\u6700\u65e7\u548c\u6700\u65b0\u7248\u672c\u4e4b\u5916\u7684\u884c\u7248\u672c\uff0c\u90fd\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u7d22\u5f15\u59cb\u7ec8\u5f15\u7528\u539f\u59cb\u884c\u7248\u672c\u7684<a class=\"link\" href=\"/docs/17/storage-page-layout.html\" title=\"65.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\u4e0e\u8be5\u884c\u7248\u672c\u5173\u8054\u7684\u5143\u7ec4\u6570\u636e\u4f1a\u88ab\u5220\u9664\uff0c\u5176\u9879\u6807\u8bc6\u7b26\u4f1a\u8f6c\u6362\u6210\u4e00\u4e2a\u91cd\u5b9a\u5411\uff0c\u6307\u5411\u67d0\u4e2a\u5e76\u53d1\u4e8b\u52a1\u4ecd\u53ef\u80fd\u53ef\u89c1\u7684\u6700\u65e7\u7248\u672c\u3002\u5bf9\u4efb\u4f55\u4eba\u90fd\u4e0d\u518d\u53ef\u89c1\u7684\u4e2d\u95f4\u884c\u7248\u672c\u4f1a\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u800c\u76f8\u5173\u7684\u9875\u9762\u9879\u6807\u8bc6\u7b26\u5219\u53ef\u91cd\u65b0\u5229\u7528\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/17/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.19.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/17/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/17/storage-hot.html", "method": "same-major semantic node", "sha256": "de218afa1c627cf032922b1bbc2f665376595f2dfad9ffe4ff7822c8be39d1fd", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/17/facts/0/label": "Definition scope", "/versions/17/facts/0/value": "Same-version core physical storage documentation", "/versions/17/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "6c16a472485ec10d448ab5f286ce9e6a71e93a6af5e04099ba0b7aeb40fb1674"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "18": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=18", "label": "Table AM"}, {"url": "/wiki/relopts/?v=18", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "https://pg.center/docs/18/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 18 English manual", "sha256": "10b16ef2342681e7c41be6a1bc1e3ea1cb3ba9f592be29dcc941fba269713bfa", "language": "en", "original_url": "/docs/18/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">66.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\u5f15\u7528\u7684\u4efb\u4f55\u5217\uff0c\u6458\u8981\u7d22\u5f15\u9664\u5916\u3002\u6838\u5fc3 <span class=\"productname\">PostgreSQL</span> \u53d1\u884c\u7248\u4e2d\u552f\u4e00\u7684\u6458\u8981\u7d22\u5f15\u65b9\u6cd5\u662f <a class=\"link\" href=\"/docs/18/brin.html\" title=\"65.5.\u00a0BRIN \u7d22\u5f15\">BRIN</a>\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\uff0c\u4e0d\u8fc7\u6458\u8981\u7d22\u5f15\u4ecd\u53ef\u80fd\u9700\u8981\u66f4\u65b0\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5f53\u4e00\u884c\u88ab\u591a\u6b21\u66f4\u65b0\u65f6\uff0c\u9664\u6700\u65e7\u548c\u6700\u65b0\u7248\u672c\u4e4b\u5916\u7684\u884c\u7248\u672c\uff0c\u90fd\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u7d22\u5f15\u59cb\u7ec8\u5f15\u7528\u539f\u59cb\u884c\u7248\u672c\u7684<a class=\"link\" href=\"/docs/18/storage-page-layout.html\" title=\"66.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\u4e0e\u8be5\u884c\u7248\u672c\u5173\u8054\u7684\u5143\u7ec4\u6570\u636e\u4f1a\u88ab\u5220\u9664\uff0c\u5176\u9879\u6807\u8bc6\u7b26\u4f1a\u8f6c\u6362\u6210\u4e00\u4e2a\u91cd\u5b9a\u5411\uff0c\u6307\u5411\u67d0\u4e2a\u5e76\u53d1\u4e8b\u52a1\u4ecd\u53ef\u80fd\u53ef\u89c1\u7684\u6700\u65e7\u7248\u672c\u3002\u5bf9\u4efb\u4f55\u4eba\u90fd\u4e0d\u518d\u53ef\u89c1\u7684\u4e2d\u95f4\u884c\u7248\u672c\u4f1a\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u800c\u76f8\u5173\u7684\u9875\u9762\u9879\u6807\u8bc6\u7b26\u5219\u53ef\u91cd\u65b0\u5229\u7528\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/18/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.19.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/18/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/18/storage-hot.html", "method": "same-major semantic node", "sha256": "d2f65aa889fefb8a17675ec3a2f25d5ef8b7d49a8592b484986f7512a878630e", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/18/facts/0/label": "Definition scope", "/versions/18/facts/0/value": "Same-version core physical storage documentation", "/versions/18/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e5e38c7807fb239df9941c0b0566be2a1ace94e75fe2be8fa7a56172282063b8"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "19": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=19", "label": "Table AM"}, {"url": "/wiki/relopts/?v=19", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "https://pg.center/docs/19/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 19 English manual", "sha256": "5f0d8a61ee07763a66a81627086a5f9fd868b729048306e4cac89381bb2c4bfc", "language": "en", "original_url": "/docs/19/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">66.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\u5f15\u7528\u7684\u4efb\u4f55\u5217\uff0c\u6458\u8981\u7d22\u5f15\u9664\u5916\u3002\u6838\u5fc3 <span class=\"productname\">PostgreSQL</span> \u53d1\u884c\u7248\u4e2d\u552f\u4e00\u7684\u6458\u8981\u7d22\u5f15\u65b9\u6cd5\u662f <a class=\"link\" href=\"/docs/19/brin.html\" title=\"65.5.\u00a0BRIN \u7d22\u5f15\">BRIN</a>\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\uff0c\u4e0d\u8fc7\u6458\u8981\u7d22\u5f15\u4ecd\u53ef\u80fd\u9700\u8981\u66f4\u65b0\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5f53\u4e00\u884c\u88ab\u591a\u6b21\u66f4\u65b0\u65f6\uff0c\u9664\u6700\u65e7\u548c\u6700\u65b0\u7248\u672c\u4e4b\u5916\u7684\u884c\u7248\u672c\uff0c\u90fd\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u7d22\u5f15\u59cb\u7ec8\u5f15\u7528\u539f\u59cb\u884c\u7248\u672c\u7684<a class=\"link\" href=\"/docs/19/storage-page-layout.html\" title=\"66.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\u4e0e\u8be5\u884c\u7248\u672c\u5173\u8054\u7684\u5143\u7ec4\u6570\u636e\u4f1a\u88ab\u5220\u9664\uff0c\u5176\u9879\u6807\u8bc6\u7b26\u4f1a\u8f6c\u6362\u6210\u4e00\u4e2a\u91cd\u5b9a\u5411\uff0c\u6307\u5411\u67d0\u4e2a\u5e76\u53d1\u4e8b\u52a1\u4ecd\u53ef\u80fd\u53ef\u89c1\u7684\u6700\u65e7\u7248\u672c\u3002\u5bf9\u4efb\u4f55\u4eba\u90fd\u4e0d\u518d\u53ef\u89c1\u7684\u4e2d\u95f4\u884c\u7248\u672c\u4f1a\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u800c\u76f8\u5173\u7684\u9875\u9762\u9879\u6807\u8bc6\u7b26\u5219\u53ef\u91cd\u65b0\u5229\u7528\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/19/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/19/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.21.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/19/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/19/storage-hot.html", "method": "same-major semantic node", "sha256": "6e6a83932c9dc5f56b2ba4d9937d08a41df41fe091a9ba8f4d85ebeec8b20cb7", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/19/facts/0/label": "Definition scope", "/versions/19/facts/0/value": "Same-version core physical storage documentation", "/versions/19/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "d248436ceb9a943a45171139eb92b2e1f64bcb5ec3bed478c539ccae4d10bd67"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "20": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=20", "label": "Table AM"}, {"url": "/wiki/relopts/?v=20", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "https://pg.center/docs/devel/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 20 English manual", "sha256": "499eb2be3ab3c949e43aff88233e53b389b7e5f9b11edd21f95bb45ffd0725dd", "language": "en", "original_url": "/docs/devel/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">66.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\u5f15\u7528\u7684\u4efb\u4f55\u5217\uff0c\u6458\u8981\u7d22\u5f15\u9664\u5916\u3002\u6838\u5fc3 <span class=\"productname\">PostgreSQL</span> \u53d1\u884c\u7248\u4e2d\u552f\u4e00\u7684\u6458\u8981\u7d22\u5f15\u65b9\u6cd5\u662f <a class=\"link\" href=\"/docs/devel/brin.html\" title=\"65.5.\u00a0BRIN \u7d22\u5f15\">BRIN</a>\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\uff0c\u4e0d\u8fc7\u6458\u8981\u7d22\u5f15\u4ecd\u53ef\u80fd\u9700\u8981\u66f4\u65b0\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5f53\u4e00\u884c\u88ab\u591a\u6b21\u66f4\u65b0\u65f6\uff0c\u9664\u6700\u65e7\u548c\u6700\u65b0\u7248\u672c\u4e4b\u5916\u7684\u884c\u7248\u672c\uff0c\u90fd\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u7d22\u5f15\u59cb\u7ec8\u5f15\u7528\u539f\u59cb\u884c\u7248\u672c\u7684<a class=\"link\" href=\"/docs/devel/storage-page-layout.html\" title=\"66.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\u4e0e\u8be5\u884c\u7248\u672c\u5173\u8054\u7684\u5143\u7ec4\u6570\u636e\u4f1a\u88ab\u5220\u9664\uff0c\u5176\u9879\u6807\u8bc6\u7b26\u4f1a\u8f6c\u6362\u6210\u4e00\u4e2a\u91cd\u5b9a\u5411\uff0c\u6307\u5411\u67d0\u4e2a\u5e76\u53d1\u4e8b\u52a1\u4ecd\u53ef\u80fd\u53ef\u89c1\u7684\u6700\u65e7\u7248\u672c\u3002\u5bf9\u4efb\u4f55\u4eba\u90fd\u4e0d\u518d\u53ef\u89c1\u7684\u4e2d\u95f4\u884c\u7248\u672c\u4f1a\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u800c\u76f8\u5173\u7684\u9875\u9762\u9879\u6807\u8bc6\u7b26\u5219\u53ef\u91cd\u65b0\u5229\u7528\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/devel/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.22.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/devel/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/devel/storage-hot.html", "method": "same-major semantic node", "sha256": "435e0c3226a7ee42812762e032889a8ab94b9753707ef4c8db4e2f53efc663f8", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/summary": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/category": "Physical structures", "/versions/20/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/20/facts/0/label": "Definition scope", "/versions/20/facts/0/value": "Same-version core physical storage documentation", "/versions/20/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "57f41448e4b72e4661c870fcb3a045009306f79d36b7762e089af8d20b4530c2"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}}}, "snapshot": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [], "related": [{"url": "/wiki/tableam/?v=18", "label": "Table AM"}, {"url": "/wiki/relopts/?v=18", "label": "\u5b58\u50a8\u53c2\u6570"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "https://pg.center/docs/18/storage-hot.html", "path": "storage-hot.html", "label": "PostgreSQL 18 English manual", "sha256": "10b16ef2342681e7c41be6a1bc1e3ea1cb3ba9f592be29dcc941fba269713bfa", "language": "en", "original_url": "/docs/18/storage-hot.html"}], "sections": [], "signature": "", "description": ["\u4e3a\u4e86\u652f\u6301\u9ad8\u5e76\u53d1\uff0c PostgreSQL \u4f7f\u7528 \u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236 \uff08 MVCC \uff09\u6765\u5b58\u50a8\u884c\u3002\u4e0d\u8fc7\uff0c MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e00\u4e9b\u7f3a\u70b9\u3002\u5177\u4f53\u6765\u8bf4\uff0c\u66f4\u65b0\u9700\u8981\u5411\u8868\u4e2d\u52a0\u5165\u65b0\u7684\u884c\u7248\u672c\u3002\u8fd9\u8fd8\u53ef\u80fd\u8981\u6c42\u4e3a\u6bcf\u4e2a\u88ab\u66f4\u65b0\u7684\u884c\u65b0\u589e\u7d22\u5f15\u6761\u76ee\uff0c\u800c\u79fb\u9664\u65e7\u7684\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u6761\u76ee\u53ef\u80fd\u4ee3\u4ef7\u5f88\u9ad8\u3002"], "manual_html": "<div class=\"sect1\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\" lang=\"zh\">66.7. \u4ec5\u5806\u5143\u7ec4\uff08HOT\uff09</h2>\n</div>\n</div>\n</div>\n<p lang=\"zh\">\u4e3a\u652f\u6301\u9ad8\u5e76\u53d1\uff0cPostgreSQL \u4f7f\u7528\u591a\u7248\u672c\u5e76\u53d1\u63a7\u5236\uff08MVCC\uff09\u5b58\u50a8\u884c\u3002\u4f46 MVCC \u5bf9\u66f4\u65b0\u67e5\u8be2\u4e5f\u6709\u4e0d\u5229\u4e4b\u5904\uff1a\u66f4\u65b0\u5fc5\u987b\u5411\u8868\u4e2d\u6dfb\u52a0\u65b0\u7684\u884c\u7248\u672c\uff0c\u53ef\u80fd\u8fd8\u8981\u4e3a\u6bcf\u4e2a\u66f4\u65b0\u540e\u7684\u884c\u6dfb\u52a0\u7d22\u5f15\u9879\uff0c\u800c\u79fb\u9664\u65e7\u884c\u7248\u672c\u53ca\u5176\u7d22\u5f15\u9879\u7684\u6210\u672c\u53ef\u80fd\u5f88\u9ad8\u3002</p>\n<p lang=\"zh\">\u4e3a\u964d\u4f4e\u66f4\u65b0\u5f00\u9500\uff0cPostgreSQL \u63d0\u4f9b\u4e86\u4ec5\u5806\u5143\u7ec4\uff08heap-only tuples\uff0cHOT\uff09\u4f18\u5316\u3002\u6ee1\u8db3\u4ee5\u4e0b\u6761\u4ef6\u65f6\u53ef\u4ee5\u4f7f\u7528\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u66f4\u65b0\u4e0d\u4f1a\u4fee\u6539\u88ab\u8be5\u8868\u7d22\u5f15\u5f15\u7528\u7684\u4efb\u4f55\u5217\uff0c\u6458\u8981\u7d22\u5f15\u9664\u5916\u3002\u6838\u5fc3 <span class=\"productname\">PostgreSQL</span> \u53d1\u884c\u7248\u4e2d\u552f\u4e00\u7684\u6458\u8981\u7d22\u5f15\u65b9\u6cd5\u662f <a class=\"link\" href=\"/docs/18/brin.html\" title=\"65.5.\u00a0BRIN \u7d22\u5f15\">BRIN</a>\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5305\u542b\u65e7\u884c\u7684\u9875\u9762\u4e0a\u6709\u8db3\u591f\u7684\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u66f4\u65b0\u540e\u7684\u884c\u3002</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5806\u5185\u5143\u7ec4\u63d0\u4f9b\u4e24\u9879\u4f18\u5316\uff1a</p>\n<div class=\"itemizedlist\">\n<ul class=\"itemizedlist\">\n<li class=\"listitem\" lang=\"zh\">\n<p>\u4e0d\u9700\u8981\u65b0\u589e\u7528\u4e8e\u8868\u793a\u66f4\u65b0\u540e\u884c\u7684\u65b0\u7d22\u5f15\u6761\u76ee\uff0c\u4e0d\u8fc7\u6458\u8981\u7d22\u5f15\u4ecd\u53ef\u80fd\u9700\u8981\u66f4\u65b0\u3002</p>\n</li>\n<li class=\"listitem\" lang=\"zh\">\n<p>\u5f53\u4e00\u884c\u88ab\u591a\u6b21\u66f4\u65b0\u65f6\uff0c\u9664\u6700\u65e7\u548c\u6700\u65b0\u7248\u672c\u4e4b\u5916\u7684\u884c\u7248\u672c\uff0c\u90fd\u53ef\u4ee5\u5728\u65e5\u5e38\u64cd\u4f5c\u671f\u95f4\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u5305\u62ec\u5728\u6267\u884c <code class=\"command\">SELECT</code> \u65f6\uff0c\u800c\u4e0d\u5fc5\u4f9d\u8d56\u5468\u671f\u6027\u7684\u6e05\u7406\u64cd\u4f5c\u3002\uff08\u7d22\u5f15\u59cb\u7ec8\u5f15\u7528\u539f\u59cb\u884c\u7248\u672c\u7684<a class=\"link\" href=\"/docs/18/storage-page-layout.html\" title=\"66.6.\u00a0\u6570\u636e\u5e93\u9875\u9762\u5e03\u5c40\">\u9875\u9762\u9879\u6807\u8bc6\u7b26</a>\u3002\u4e0e\u8be5\u884c\u7248\u672c\u5173\u8054\u7684\u5143\u7ec4\u6570\u636e\u4f1a\u88ab\u5220\u9664\uff0c\u5176\u9879\u6807\u8bc6\u7b26\u4f1a\u8f6c\u6362\u6210\u4e00\u4e2a\u91cd\u5b9a\u5411\uff0c\u6307\u5411\u67d0\u4e2a\u5e76\u53d1\u4e8b\u52a1\u4ecd\u53ef\u80fd\u53ef\u89c1\u7684\u6700\u65e7\u7248\u672c\u3002\u5bf9\u4efb\u4f55\u4eba\u90fd\u4e0d\u518d\u53ef\u89c1\u7684\u4e2d\u95f4\u884c\u7248\u672c\u4f1a\u88ab\u5b8c\u5168\u79fb\u9664\uff0c\u800c\u76f8\u5173\u7684\u9875\u9762\u9879\u6807\u8bc6\u7b26\u5219\u53ef\u91cd\u65b0\u5229\u7528\u3002\uff09</p>\n</li>\n</ul>\n</div>\n<p lang=\"zh\">\u8981\u63d0\u9ad8\u9875\u9762\u62e5\u6709\u8db3\u591f\u7a7a\u95f4\u8fdb\u884c <acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u7684\u53ef\u80fd\u6027\uff0c\u4f60\u53ef\u4ee5\u964d\u4f4e\u8868\u7684 <a class=\"link\" href=\"/docs/18/sql-createtable.html#RELOPTION-FILLFACTOR\"><code class=\"literal\">fillfactor</code></a>\u3002\u5373\u4f7f\u4e0d\u8fd9\u6837\u505a\uff0c<acronym class=\"acronym\">HOT</acronym> \u66f4\u65b0\u4e5f\u4ecd\u7136\u4f1a\u53d1\u751f\uff0c\u56e0\u4e3a\u65b0\u884c\u4f1a\u81ea\u7136\u8fc1\u79fb\u5230\u65b0\u9875\u9762\uff0c\u800c\u90a3\u4e9b\u5177\u6709\u8db3\u591f\u7a7a\u95f2\u7a7a\u95f4\u5bb9\u7eb3\u65b0\u884c\u7248\u672c\u7684\u73b0\u6709\u9875\u9762\u4e5f\u4f1a\u88ab\u5229\u7528\u3002\u7cfb\u7edf\u89c6\u56fe <a class=\"link\" href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.19.\u00a0pg_stat_all_tables\">pg_stat_all_tables</a> \u53ef\u4ee5\u7528\u6765\u76d1\u63a7 HOT \u66f4\u65b0\u548c\u975e HOT \u66f4\u65b0\u7684\u53d1\u751f\u60c5\u51b5\u3002</p>\n</div>", "manual_path": "/docs/18/storage-hot.html", "localization": {"status": "complete", "sources": [{"url": "/docs/18/storage-hot.html", "method": "same-major semantic node", "sha256": "d2f65aa889fefb8a17675ec3a2f25d5ef8b7d49a8592b484986f7512a878630e", "language": "zh", "matched_nodes": ["#STORAGE-HOT/div[3]/ul[0]/li[0]", "#STORAGE-HOT/div[3]/ul[0]/li[1]", "#STORAGE-HOT/div[5]/ul[0]/li[0]", "#STORAGE-HOT/div[5]/ul[0]/li[1]", "#STORAGE-HOT/p[1]", "#STORAGE-HOT/p[4]", "#STORAGE-HOT/p[6]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "To allow for high concurrency, PostgreSQL uses multiversion concurrency control ( MVCC ) to store rows. However, MVCC has some downsides for update queries. Specifically, updates require new versions of rows to be added to tables. This can also require new index entries for each updated row, and removal of old versions of rows and their index entries can be expensive.", "/versions/18/facts/0/label": "Definition scope", "/versions/18/facts/0/value": "Same-version core physical storage documentation", "/versions/18/related/1/label": "Storage Parameters"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e5e38c7807fb239df9941c0b0566be2a1ace94e75fe2be8fa7a56172282063b8"}, "comparison_data": {"layouts": []}, "comparison_hash": "27341929154bfb55531f03501322b65af719c5561f3c4ddc9528a14aa4df69b5", "manual_language": "zh"}, "comparison": {"left": "10", "right": "11", "status": "added", "diff": "--- PostgreSQL 10\n+++ PostgreSQL 11\n@@ -1 +1,3 @@\n-\u8be5\u7248\u672a\u6536\u5f55\n+{\n+  \"layouts\": []\n+}"}}