{"id":138,"date":"2026-10-17T15:07:32","date_gmt":"2026-10-17T15:07:32","guid":{"rendered":"https:\/\/nino.to\/insights\/2026\/10\/17\/toi-uu-hieu-nang-postgresql-hang-tram-trieu-ban-ghi\/"},"modified":"2026-10-17T15:07:32","modified_gmt":"2026-10-17T15:07:32","slug":"toi-uu-hieu-nang-postgresql-hang-tram-trieu-ban-ghi","status":"publish","type":"post","link":"https:\/\/nino.to\/vi\/insights\/toi-uu-hieu-nang-postgresql-hang-tram-trieu-ban-ghi\/","title":{"rendered":"T\u1ed1i \u01afu Hi\u1ec7u N\u0103ng C\u01a1 S\u1edf D\u1eef Li\u1ec7u PostgreSQL \u1ede Quy M\u00f4 H\u00e0ng Tr\u0103m Tri\u1ec7u B\u1ea3n Ghi"},"content":{"rendered":"<h2>Khi dung l\u01b0\u1ee3ng d\u1eef li\u1ec7u v\u01b0\u1ee3t qua ng\u01b0\u1ee1ng th\u00f4ng th\u01b0\u1eddng<\/h2>\n<p>M\u1ed9t b\u1ea3ng ghi log giao d\u1ecbch ho\u1eb7c \u0111\u01a1n h\u00e0ng v\u1edbi h\u01a1n 50 tri\u1ec7u d\u00f2ng b\u1eaft \u0111\u1ea7u cho th\u1ea5y s\u1ef1 ch\u1eadm ch\u1ea1p r\u00f5 r\u1ec7t khi th\u1ef1c hi\u1ec7n c\u00e1c ph\u00e9p qu\u00e9t b\u1ea3ng ho\u1eb7c k\u1ebft n\u1ed1i b\u1ea3ng (JOIN).<\/p>\n<h2>Chi\u1ebfn l\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a th\u1ef1c chi\u1ebfn<\/h2>\n<ul>\n<li>Ph\u00e2n v\u00f9ng b\u1ea3ng theo th\u1eddi gian (Partition by Range) \u0111\u1ec3 gi\u1edbi h\u1ea1n ph\u1ea1m vi qu\u00e9t d\u1eef li\u1ec7u theo th\u00e1ng ho\u1eb7c qu\u00fd.<\/li>\n<li>T\u1eadn d\u1ee5ng ch\u1ec9 m\u1ee5c BRIN (Block Range Index) cho c\u00e1c d\u1eef li\u1ec7u th\u1eddi gian c\u00f3 t\u00ednh tu\u1ea7n t\u1ef1, gi\u00fap ti\u1ebft ki\u1ec7m t\u1edbi 95% dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef ch\u1ec9 m\u1ee5c so v\u1edbi B-Tree.<\/li>\n<li>Thi\u1ebft l\u1eadp Connection Pooling v\u1edbi PgBouncer \u0111\u1ec3 gi\u1ea3m thi\u1ec3u chi ph\u00ed kh\u1edfi t\u1ea1o k\u1ebft n\u1ed1i n\u1eb7ng n\u1ec1 c\u1ee7a PostgreSQL.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>H\u01b0\u1edbng d\u1eabn chuy\u00ean s\u00e2u v\u1ec1 k\u1ef9 thu\u1eadt ph\u00e2n v\u00f9ng b\u1ea3ng (Table Partitioning), t\u1ed1i \u01b0u ch\u1ec9 m\u1ee5c BRIN\/B-Tree v\u00e0 tinh ch\u1ec9nh th\u00f4ng s\u1ed1 b\u1ed9 nh\u1edb Shared Buffers cho c\u01a1 s\u1edf d\u1eef li\u1ec7u l\u1edbn.<\/p>\n","protected":false},"author":1,"featured_media":139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","footnotes":""},"categories":[23],"tags":[32,43,25,24,42],"class_list":["post-138","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-security","tag-bao-mat-dam-may","tag-enterprise","tag-insights","tag-nino","tag-tech"],"_links":{"self":[{"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/posts\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/comments?post=138"}],"version-history":[{"count":0,"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/posts\/138\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/media\/139"}],"wp:attachment":[{"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/categories?post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nino.to\/vi\/insights\/wp-json\/wp\/v2\/tags?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}