Tag: rdbms agnostic

什么是好的意见?

我只是想了解在RDBMS中使用哪些视图的一般概念。 也就是说,我知道什么是一个观点,以及如何制定一个观点。 我也知道我以前用过他们的东西。 但是,我想确保我对透视有什么用处,以及哪些视图不适用的透彻理解。 进一步来说: 什么是有用的视图? 在不应该使用视图的情况下,有没有什么情况可以使用视图? 你为什么要用一个视图来替代表值函数,反之亦然? 有没有任何情况下,一看起来可能是有用的,乍一看是不明显的? (logging下来,其中一些问题是故意天真的,这部分是概念检查。)

为什么历史上人们使用255而不是256来表示数据库字段的大小?

您经常会看到数据库字段设置为255个字符,传统/历史原因是什么? 我认为这是与分页/内存限制和性能有关,但255和256之间的区别一直困扰着我。 varchar(255) 考虑到这是一个容量或大小, 而不是一个索引 , 为什么255首选超过256? 是为了某种目的而保留的字节(终止符或null或其他)? 据推测,varchar(0)是废话(有零容量)? 在这种情况下,2 ^ 8的空间肯定是256? 还有其他的大小提供性能好处吗? 比如varchar(512)的性能比varchar(511)或varchar(510)less吗? 所有关系数据库的新旧值是否相同? 免责声明 – 我是一名开发人员而不是DBA,我使用适合业务逻辑的字段大小和types,但是我想知道这种偏好的历史原因,即使它不再相关更多,如果它仍然是相关的)。 编辑: 感谢你的回答,似乎有一个共识是,一个字节被用来存储大小,但这并不能解决这个问题。 如果元数据(string长度)存储在同一个连续的内存/磁盘中,这是有道理的。 1个字节的元数据和255个字节的string数据,可以很好地适应对方,适合256个连续的存储字节,大概整齐。 但是…如果元数据(string长度)与实际的string数据分开存储(也许在主表中),那么要将string数据的长度限制为一个字节,只是因为更容易存储一个1字节的整数的元数据似乎有点奇怪。 在这两种情况下,这似乎是一个微妙的,可能取决于数据库的实施。 使用255的做法似乎相当普遍,所以某个地方的某个人在开始的时候肯定有一个很好的例子,谁能记得那个案子是什么? 程序员不会没有理由地采取任何新的做法,这一定是新的一次。