CM包含两数据库:库服务器ICMNLSDB资源管理器RMDB,应用数据库有BBKP,其中was和RMDB数据库安装和存储在一台服务器,应用数据库BBKP和ICMNLSDB数据库在另外一台数据库上。
在测试过程中,发现只要是和CM数据库有关的网页链接访问都特别慢,在利用windows自带的perfmon性能工具查看磁盘IO时,ICMNLSDB所在的那个盘IO特别高。再利用FileMon工具查看时,发现系统访问ICMNLSDB数据库对应的表空间ICMLFQ32所在的目录很频繁,因此推测可能是这个导致磁盘IO吃紧。既然找出问题所在,接下来就是解决问题了。推测可能是表空间CIMLFQ32容量不够,但在为表空间添加容量时,系统却出现由于是系统管理的表空间,不允许更改添加表空间。而通过网上搜索,得出系统管理的表空间不受页大小的影响,和磁盘的容量有关。但本地的磁盘空间还有19G多,因此无奈只好修改表空间关联到缓冲池,通过将缓冲池设大。
你这样写很不好,看起来写的是一句sql,反而速度慢下来了。首先row_number() over() as rownum毫无必要,这样来分页效率不高。然后能不用*就不用*查询。在大数据量和列很多的情况下,会慢很多。而且你也说了,更新1W条数据需要半个小时。那么可以采用存储过程或者程序来访问。这样会快很多,推荐采用存储过程,110W条数据,就算重建索引等,更新一条应该在200ms一下,一万条,不会那么久的。希望能帮助得到你。
你这样写sql语句,执行时间太久了,会造成假死现象,这样很不好。
1. 索引2. 历史数据备份
3. 分表。。。
打开的文件的最大总数 (MAXTOTFILOP) = 16000
CPU 速度(毫秒/指令) (CPUSPEED) = 1.968101e-007
通信带宽(MB/秒) (COMM_BANDWIDTH) = 1.000000e+002
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)