mysql 数据库如何存入开头为0的数?

mysql 数据库如何存入开头为0的数?,第1张

可以用varchar之类的字符串类型去保存\x0d\x0a或者是 用int去定义 例:\x0d\x0acreate table test (id int(10) zerofill)\x0d\x0ainsert into test values(100)\x0d\x0a那么实际存的值就会是 0000000100\x0d\x0a这里的意思就是说,当存入的值位数没有查过10 的时候(int(10)中定义的长度)缺少几位就用0填补上

innodb_flush_log_at_trx_commit这个参数关系到事务日志落地,

默认参数1 每一次事务提交或事务外的指令都需要把日志写入硬盘,io开销大

参数0 每隔一秒把log buffer刷到文件系统中去,并且调用文件系统的“flush” *** 作将缓存刷新到磁盘上去。这样的话,可能丢失1秒的事务数据。

参数 2 在每次事务提交的时候会把log buffer刷到文件系统中去,但是每隔一秒调用文件系统的“flush” *** 作将缓存刷新到磁盘上去。

这里解释下,系统文件和磁盘介质之间也有缓存,这里的0 是提交日志之后,每隔1秒将logbuffer刷到系统文件中,并马上执行落盘 *** 作,写到到物理介质

2呢是刷到系统文件系统之后,每隔1秒调用flush,写到物理介质,并不是马上

两者的区别是,0:当mysql挂了之后,可能会损失前一秒的事务信息

2:当mysql挂了之后,如果系统文件系统没挂,不会有事务丢失

以上是个人理解外加google查询资料,如果有误,请帮忙纠正


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

原文地址:https://54852.com/zaji/8630237.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存