小编bob*_*opy的帖子

MD5 字段的最佳数据类型是什么?

我们正在设计一个众所周知的读取量大的系统(每分钟读取数万次)。

  • 有一个表names作为一种中央注册表。每行都有一个text字段representation和一个唯一的字段,key它是该字段的 MD5 哈希值representation1该表目前有数千万条记录,预计在应用程序的生命周期内会增长到数十亿条。
  • 还有许多其他表(具有高度变化的模式和记录计数)引用该names表。这些表之一中的任何给定记录都保证有一个name_key,它在功能上是names表的外键。

1:顺便说一句,正如您所料,此表中的记录一旦写入便不可变。

对于表以外的任何给定表names,最常见的查询将遵循以下模式:

SELECT list, of, fields 
FROM table 
WHERE name_key IN (md5a, md5b, md5c...);
Run Code Online (Sandbox Code Playgroud)

我想优化读取性能。我怀疑我的第一站应该是最小化索引的大小(尽管我不介意在那里被证明是错误的)。

问题:和列
的最佳数据类型是什么? 有理由使用over吗?或者?keyname_key
hex(32)bit(128)BTREEGIN

postgresql index database-design uniqueidentifier datatypes

45
推荐指数
1
解决办法
3万
查看次数

固定宽度行会提高 PostgreSQL 读取性能吗?

我有一张桌子articles

                                                       Table "articles"
     Column     |            Type             |                     Modifiers                      | Storage  | Stats target | Description
----------------+-----------------------------+----------------------------------------------------+----------+--------------+-------------
 id             | integer                     | not null default nextval('articles_id_seq'::regclass) | plain    |              |
 user_id        | integer                     |                                                    | plain    |              |
 title          | character varying(255)      |                                                    | extended |              |
 author         | character varying(255)      |                                                    | extended |              |
 body           | text                        | default '--- []                                   +| extended |              |
                |                             | '::text                                            |          |              |
 created_at     | timestamp without time zone | …
Run Code Online (Sandbox Code Playgroud)

postgresql performance datatypes postgresql-9.4 query-performance

9
推荐指数
1
解决办法
1694
查看次数