仙侣步惊云 2021-12-26 22:29 采纳率: 0%
浏览 10

大家使用数据库,有遇到到checkpoint问题的吗?

也就是,如果我用程序更新了数据,数据会存放在缓存中。
数据的增删改查都是针对缓存的数据进行的,并不会立即更新到物理表中
这样做是为了提高数据库IO性能
真正的提交要满足一定条件才会进行,例如缓存池已经写满
你想手动提交缓存,可直接调用checkpoint清除缓存进行物理提交。

chechpoint的机制,sqlserver\oracle\sybase都采用了
但好像会有一个这样的问题,就是如果你使用了数据库后台工具对数据进行更新,似乎这样会不经过缓存而直接更新数据库,导致物理表中的数据与缓存不一样
这时候如果你不手动调用checkpoint,将缓存写入数据库,你用程序对数据库的增删查改就会有偏差
不知道大家用数据库时遇到这种问题没有,反正我是遇到过,是在使用sybase时。

而且缓存设置越大,如果你提交的数据比较大,如图片时没问题,但如果你更新的数据都是小笔的字符型数据时,这样要很久才会写满缓存,最后将缓存写入物理表。
这个时候如果你用后台直接更新的物理表,缓存就与物理表存在较大差别,这个问题就很突出了

而数据的不一致将是灾难性的。

 

  • 写回答

1条回答 默认 最新

  • qq_41444638 2022-09-30 17:23
    关注

    是嘛,我好像在大学的时候遇到过,当时不知道为什么,也没深究,哈哈 懒

    评论

报告相同问题?

问题事件

  • 创建了问题 12月26日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)