galenbao 2011-06-23 09:38
浏览 427
已采纳

大数据量操作时,数据库好像被锁死

java B/S系统。
生成汇总表的时候,因为表样很复杂,数据量很大,存储过程也写的比较复杂,导致用户在点击生成汇总表时,
系统就不能再做其他与数据库相关的操作,呈现锁死状态,直到那个汇总表生成完毕。

我们的程序可能写的不够优化,大数据量操作时都有可能会导致内存溢出,导致服务器都崩溃掉。

请问各位有没有遇到这种情况,都怎么解决的。

  • 写回答

2条回答 默认 最新

  • 慢跑的华哥 2011-06-23 11:18
    关注

    应该不是死锁造成的;
    死锁时,一般会一直等待直到处理完成才会;但通常不影响其他业务模块;
    我分析了下觉得会是如下几点造成:
    1、过程中使用了较多的排序,分组,或者对大表进行了更新等造成服务器硬件资源被耗尽(通常这时服务器的负载会超过5,并且IO,CPU占用都很高)。
    2、大数据的交换,把服务器的交换空间撑爆了。

    面对以上两种情况,可以检查下过程中是不是有大表操作,将大表操作,采用多个中间表,另外有没有SQL值得优化的地方,是不是可以在中间加点commit操作等,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件