Léo*_* 준영 85 database email performance database-design
这是我查询的提取部分,反映了EMAIL_ADDRESS
列数据类型和属性:
EMAIL_ADDRESS CHARACTER VARYING(20) NOT NULL,
Run Code Online (Sandbox Code Playgroud)
但是,约翰桑德斯使用VARYING(256)
.
这表明我没有必要正确理解变化.
据我所知,在我的情况下,电子邮件地址的长度为20个字符,而Jodn为256个字符.
John的代码中的上下文
CREATE TABLE so."User"
(
USER_ID SERIAL NOT NULL,
USER_NAME CHARACTER VARYING(50) NOT NULL,
EMAIL_ADDRESS CHARACTER VARYING(256) NOT NULL, // Here
HASHED_PASSWORD so.HashedPassword NOT NULL,
OPEN_ID CHARACTER VARYING(512),
A_MODERATOR BOOLEAN,
LOGGED_IN BOOLEAN,
HAS_BEEN_SENT_A_MODERATOR_MESSAGE BOOLEAN,
CONSTRAINT User_PK PRIMARY KEY(USER_ID)
);
Run Code Online (Sandbox Code Playgroud)
我从未见过普通人使用的超过20个字符的电子邮件地址.
数据库中电子邮件地址的最佳长度是多少?
Iai*_*ult 128
电子邮件地址的最大长度为254个字符.
每个电子邮件地址由两部分组成."@"符号前面的本地部分以及后面的域部分.在"user@example.com"中,本地部分是"user",域部分是"example.com".
本地部分不得超过64个字符,域部分不得超过255个字符.
电子邮件地址的本地+ @ +域部分的总长度不得超过254个字符.如RFC3696勘误表ID 1690中所述.
pag*_*man 55
我的数据来自323个地址的数据库.该分布具有一些高端异常值(正偏态).它通常是在没有异常值的情况下分发的(我测试过它.)
最小值:12第1四分位数:19平均值(带异常值):23.04平均值不等于异常值):22.79第3四分位数:26最大值(带异常值):47最大值(不含异常值):35
中位数:23模式:24标准.Dev(带异常值):5.20标准.开发(不含异常值):4.70
范围基于包括异常值的数据68.2%的数据17.8 - 28.2 95.4%的数据12.6 - 33.4 99.7%的数据7.4 - 38.6
基于数据异常值的范围不包括68.2%的数据18.1 - 27.5 95.4%的数据13.4 - 32.2 99.7%的数据8.7 - 36.9
如果您注册http://www.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com/,那么您的电子邮件地址肯定会是异常值:)
这是网站表单中允许的电子邮件地址的最大安全长度是多少?在Raycon上,平均值略有不同(N = 50,496,平均值= 23):
Nic*_*ini 15
只是用varchar(50)
.每次都会发送更长的电子邮件.
看看50个字符有多长:
peoplewithanemail @ ddressthislongjustuseashorterone
如果您允许255个字符的电子邮件:
(统计显示,对于合法的电子邮件地址,实际上没有人输入超过50个字符,请参阅例如:pageman的答案/sf/answers/83947181/)
数据库中的可变字符类型不会占用不需要的空间。因此,没有理由尽可能地限制这些字段。根据人名、组织使用的命名方案和域名,一个地址很容易超过 20 个字符。
RFC-2822 中对 local-part 和 domain-name 的长度没有限制。不过,RFC-2181将域名限制为 255 个八位字节/字符。
同样,由于varchar仅使用您存储的字符串实际使用的空间,因此没有理由对电子邮件地址长度设置一个小的限制。只需使用 512 即可,无需担心。其他一切都是过早的优化
归档时间: |
|
查看次数: |
36686 次 |
最近记录: |