我有一个包含数字范围的MySQL数据库。它的结构如下:所有列都是INT(10)。此外,还有一个名为range_poly的多边形字段用于索引。我想标记所有“外部”范围:数据库中不包含在另一个范围内的所有范围。为了实现这一点,我添加了一个名为is_outer的列,它是一个简单的INT(1),用于指示该范围是否包含在另一个范围内。);
while($row = m
我找到了关于mysql的东西。MySQL有一个3字节的数字类型- MEDIUMINT。它的范围从-8388608到8388607。这对我来说似乎很奇怪。选择数值类型的大小为了获得更好的性能,我认为数据应该与机器字或双字对齐。如果我们需要一些数值范围的约束规则,那么它必须是相对于数据类型的外部约束。例如: id INT RANGE(0, 500) PRIMARY KEY那么,有人知道为什么是3个字节吗?有什么原因吗?