请问下锁和多线程相关的问题,谢谢!
公司用的MS软件现在慢的很,想改进下请问下,11.92以上的版本是支持行锁三,
关键是比如要运算长时期、运算大量的数据,能不能分成多个线程同时运算啊?
4个U,分每个同时运算, 再请问下要怎样实现呢?还有索引的类型有没有什么
想注意的?
谢谢!!!
[ 本帖最后由 cctvdd 于 2008-4-18 13:27 编辑 ] 多进程的肯定没有问题,多线程应该也可以。
关键是并发设计的问题,一定要控制每个子进程或者线程严格按索引处理(select ),update的时候处理相应的行。
另外一个问题是控制一个事务中修改的记录数,最好很快提交修改,防止产生锁升级。 谢谢!我再问下:
1、要实现多进程、多线程应该是存储过程控制,还是程序本身控制,还是SYB自身(SYB里配置了CPU的数)?
2、控制每个子进程或者线程严格按索引处理(select ),update的时候处理相应的行,是由存储过程控制吧?
3、控制一个事务中修改的记录数,这个怎样实现?
再次谢过! 1、我感觉应该是通过程序自身来控制。
2、可以考虑用ct_lib或esqlc来控制Sybase操作。
3、看你的程序逻辑了,如果是基于游标的,然后对每一行记录进行处理的,通过程序控制一下多少行提交应该不困难吧。
还是关键看应用逻辑是什么样子的。如果是能用sql语句处理的,别用游标,
页:
[1]