有两个问题,
1.这个比较基础,想了解一下PutCommandTimeout设置超时时间后,如果有一个命令执行时间超时了会执行什么样的操作,也就是我如何知道超时的命令,能在超时后设置回调函数处理吗?如果能,请教该怎么做. 2.项目中比较头疼的问题,目前还不能完全确定是SQL的访问问题,但根据出事情况大致能断定是数据库访问的问题,具体问题如下:
某用户登录时读取用户信息(可能会有很多用户同时登录),该函数头和函数尾都用GetTickCount函数来获取时间相减得到函数执行时间,其间包括比较多的一些用户信息数据库读取操作,API是用的msado15,但每天都会有用户反映说登录时间超过几分钟,而且根据函数执行的时间Log记录中看到确实有这样超长时间记录,原因不明,但该用户等待几分钟后确实成功登陆了,代码中没有发现主线程中有造成阻塞的代码,所以只能断定是数据库访问的问题,但是其它的服务器在同一时间访问同一数据库貌似又没有什么问题,很诡异,我不太了解msado底层的处理方式,我觉得同一个数据库多个连接访问,最终应该是队列的方式单线程处理这些访问消息...
希望大虾们能给一些有帮助的建议去尝试查出原因并解决。在线等
1.这个比较基础,想了解一下PutCommandTimeout设置超时时间后,如果有一个命令执行时间超时了会执行什么样的操作,也就是我如何知道超时的命令,能在超时后设置回调函数处理吗?如果能,请教该怎么做. 2.项目中比较头疼的问题,目前还不能完全确定是SQL的访问问题,但根据出事情况大致能断定是数据库访问的问题,具体问题如下:
某用户登录时读取用户信息(可能会有很多用户同时登录),该函数头和函数尾都用GetTickCount函数来获取时间相减得到函数执行时间,其间包括比较多的一些用户信息数据库读取操作,API是用的msado15,但每天都会有用户反映说登录时间超过几分钟,而且根据函数执行的时间Log记录中看到确实有这样超长时间记录,原因不明,但该用户等待几分钟后确实成功登陆了,代码中没有发现主线程中有造成阻塞的代码,所以只能断定是数据库访问的问题,但是其它的服务器在同一时间访问同一数据库貌似又没有什么问题,很诡异,我不太了解msado底层的处理方式,我觉得同一个数据库多个连接访问,最终应该是队列的方式单线程处理这些访问消息...
希望大虾们能给一些有帮助的建议去尝试查出原因并解决。在线等
解决方案 »
- VC调用JS时弹出缺少对象的脚本错误,求助
- MFC中editView取文本
- runtime error的问题
- 在VC中_CommandPtr的实例化
- 我是初学者,想进一步提高,不知该怎么循序渐进?
- 为什么connect老是返回SOCKET_ERROR?
- 静态编译时出现'm_pClassInit' : is not a member of 'AFX_MODULE_STATE'错误,怎么解决?
- 急求windows中TCP协议下的socket通信编程最好是非可视化的
- 紧急求助!!!会的人10秒钟解决问题,简单得分,快!快!快!
- tapi 在vc++和winme编程,用了vc6.0自带tapi.h(2.2version) 在连接时出现如下错误:(请高手指教!!!!!!)
- FMC内运行正常,编译后的exe不正常(D版,R版都不行)
- ChangeDisplaySettingsEx使用问题
如果用户表比较大,但是登陆的同时,还伴随其他用户大量的update,delete。insert操作,即使有索引,很有可能会产生频繁的重建索引的调用(表重建索引),重建索引会导致频繁锁表,现象就是select都有可能被锁定。解决办法么,就是不要索引。但是这又出现矛盾。用户登陆验证的表,最好拆分。对于验证字段,单独建表,其他经常更新的字段,放在另外一个表中。这样只用主键表来验证。就能好一些