- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 PgAdmin 从 AWS 数据库中检索数据。这很好用。问题是我有一个列在检索到相应的行后设置为 True,最初它被设置为 Null。这样做会向我的数据库中添加大量数据。
我已经检查过这不是由于其他进程造成的:它只在我的程序运行时发生。我确定没有添加任何行,我检查了之前和之后的行数,它们是相同的。
此外,它仅在更改特定表时执行此操作,当我使用相同进程更新同一数据库中的其他表时,数据库大小保持不变。它也不总是会增加数据库的大小,只有每次更改一次总大小才会增加。
如何将单个 bool 值从 Null 更改为 True 向我的数据库添加 0.1 MB?
我正在使用以下命令来检查我的数据库构成:
获取表格大小
SELECT
relname as Table,
pg_total_relation_size(relid) As Size,
pg_size_pretty(pg_total_relation_size(relid) - pg_relation_size(relid)) as External Size
FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;
获取行数:
SELECT schemaname,relname,n_live_tup
FROM pg_stat_user_tables
ORDER BY n_live_tup DESC;
获取数据库大小:
SELECT pg_database_size('mydatabasename')
最佳答案
如果您没有更改它,那么您的 fillfactor
在表格中为 100%,因为这是默认值。
这意味着您表中的每个更改都会将已更改的行标记为已过时,并将重新创建更新的行。如果您的表上有索引,问题可能会更糟,因为这些索引也应该在每一行更改时更新。正如您所想象的那样,这也会损害 UPDATE
性能。
所以从技术上讲,如果您读取整个表并在读取行后更新甚至最小的列,那么当您的 fillfactor
为 100 时,表的大小就会加倍。
你可以做的是ALTER
你的表降低fillfactor
,然后VACUUM
:
ALTER TABLE your_table SET (fillfactor = 90);
VACUUM FULL your_table;
当然,通过这一步,您的表会大 10%
,但 Postgres 会为您的更新腾出一些空间,并且它不会随着您的进程改变其大小。
autovacuum 之所以有用,是因为它会定期清理过时的行,因此它会使您的表保持相同的大小。但是会给你的数据库带来很大的压力。如果您碰巧知道您将按照您在开始问题中描述的那样进行操作,那么我建议根据您的需要调整 fillfactor
。
关于postgresql - AWS数据库单列添加极多数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53228612/
我有一个针对单行中的单个列的mysql查询 "SELECT some_col_name FROM table_name WHERE user=:user" 执行语句$stmt->execute();后
我想创建一个应用程序,以这种格式在核心文本(滑动到下一页)中显示捆绑文本文件: 旁遮普语文本 旁遮普语音译成英语 旁遮普语翻译成英语 但我希望用户能够通过设置选项卡选择显示的语言,我知道该怎么做,即
我已经在 Angular 应用程序中设置了一个 ag-grid。我正在尝试使单列填充网格的整个宽度。 但后来我明白了。
当我在 excel 中打开我的 csv 文件时,它看起来像这样 - header 值 1值2值3值4值5 我想知道这个文件中是否真的有逗号?我知道如果我有多个列,我会看到逗号 最佳答案 您可以通过在文
我目前正在运行如下查询: SELECT a.ID, a.ContactID, a.Code, FROM tableA a JOIN (SELECT ContactID, Code FROM
当我在 excel 中打开我的 csv 文件时,它看起来像这样 - header 值 1值2值3值4值5 我想知道这个文件中是否真的有逗号?我知道如果我有多个列,我会看到逗号 最佳答案 您可以通过在文
我正在使用 codeigniter insert_batch($table, $data);我的列名称为“客户发布的评论”。 当我尝试批量插入数据时。插入查询更改为: INSERT INTO `tab
我有两个问题: 我想知道这是否是对单列 TreeView 进行搜索/过滤的正确方法。我觉得我的很多复制/粘贴可能包含不必要的东西。 QSortFilterProxyModel子类中的所有代码和sear
我有一个应用程序,我想获取多个软件包的 RPM 信息,并以令人愉悦且引人注目的方式对其进行格式化。 *繁荣*。 我的问题是 rpm 想要将数据格式化为两列,这很烦人。 命令 rpm -qi ruby
具有单列表(身份列)的目的是什么?有没有好的用例可用? 这真的是一个好习惯吗? 最佳答案 我认为人们使用它来复制 Oracle 的 SEQUENCE。基本上,他们希望他们在系统中创建的任何实体都有一个
我正在将数据库连接从 mysqli 转移到 PDO。更新时,我陷入了一个查询:在mysql中它是: $quec='designation=10 OR designation=11 OR designa
给定MySQL中的一列字符串(密码)并给定一个值N,我正在寻找一种sql方式来计算每个n-的频率gram(长度为 n 的子串)。 将代码保留在 MySQL 中很重要,因为在我拥有的其他环境中,它会导致
我对 GtkTreeView 有以下问题。 当我尝试附加列表时出现问题。这是我创建的函数: static GtkWidget *setup_list_archive(GtkWidget **wid
我是 JPA/Hibernate 的新手。假设我有这两个表: Employee (Id, Name, DeptId, ..)//DeptId 是外键。 Department (Id, DeptName
我正在调用的 REST API 返回一个数组,格式如下: ["a", "b", "c", "d"] 我的 ui-grid 需要在单列中显示这些数据条目,每行一个。 我有: $scope.items
我正在使用由 passy 创建的 Angular masonry 指令,当第一个元素的宽度几乎达到 100% 时我遇到了问题。在这种情况下,所有元素都合并在一个列中,否则我认为行为没问题。 我创建了一
我想将此嵌套数组转换为单个 pandas 数据框列,我该怎么做?有人可以帮我吗? array([array([ nan, 16.40411828, 23.671878
有一个遗留的 LAMP 应用程序,我正在将其转换为 JVM。 所讨论的问题需要一个包含@250K 记录的评分表。目前,“scoreType”列表示为tinyint,其中1 = 目标,2 = 协助1,3
我正在考虑 MySQL 5.6 InnoDB 表的以下架构。我无法决定使用哪些键: "CREATE TABLE IF NOT EXISTS `context` (" " `text_
我是一名优秀的程序员,十分优秀!