mysql字段最大存储

mysql字段最大存储,第1张

更改MYSQL 单字段存储最大空间

具体的配置是my.ini。

将max_allowed_packet = 16M 拷贝到my.ini中的mysqld分类下,重启服务,就将更改MYSQL 单字段存储最大空间改为16M啦

MYSQL 默认单字段存储最大空间为1M.

TINYTEXT: 256 bytes

TEXT: 65,535 bytes =>~64kb

MEDIUMTEXT: 16,777,215 bytes =>~16MB

LONGTEXT: 4,294,967,295 bytes =>~4GB

储存时间,常用的有三个选择datetime、timestamp、int。昨夜同事问到了,于是今天就总结一下自己的理解。插入效率:datetime

>

timestamp

>

int读取效率:int

>

timestamp

>

datetime储存空间:datetime

>

timestamp

=

int具体上面的实验数据可以看这篇文章。

建立索引的体积,和索引的速度,你懂的。

让我们来看一个应用场景:

看下这张图,第一我们需要设置系统的默认时区,第二我们也需要提供不同时区时间显示的需要。于是,我们分别使用datetime、timestamp、int字段类型来看下:使用datetime直接显示时间,这是个不错的选择,但是如果考虑到时区,很明显计算上的麻烦。使用timestampOK,这个很好,可以根据系统的时区来自动输出时间,但是单个用户要定制自己的时区呢?再者你不怕麻烦,在程序里面实现了这个计算,服务器若是换个地方,改了下时区,你程序里面计算单个用户当地时间的代码怎么办(timestamp出来的时间会根据时区的变化而变化,在某些情况下是不错的选择,但在某些情况下,真的很鸡肋)。使用int从上面两个类型的缺点看来,貌似这个类型可以解决以上的问题,其实我们只要存格林时间的unix

timestamp就好了,时区时间的计算上也很方便,读取的效率也不错。我觉得用这个储存的缺点呢,就是直接select的时候时间不能直观的显示出来。看看其他开源程序是怎么做的discuz,

typecho,

emlog等等等等,他们都选用int了,这一定有他们的道理,我想也没什么可以多说的了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5910705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存