我现在数据库有表A(id ,type,value)
其中id主键,type是索引,value是内容数据量40万多。
update 的where后面是id,现在30人同时连续的更新里面的数据,没人每次4条左右,更新完一条后就,立即更新下一条。
挺慢的。。大约1秒3条
而且CPU 老高
如何解决。
再:
select 的 where
先type 后再 id
先id 后再 type
直接id
哪个更好。。
希望高手多多指教。。
其中id主键,type是索引,value是内容数据量40万多。
update 的where后面是id,现在30人同时连续的更新里面的数据,没人每次4条左右,更新完一条后就,立即更新下一条。
挺慢的。。大约1秒3条
而且CPU 老高
如何解决。
再:
select 的 where
先type 后再 id
先id 后再 type
直接id
哪个更好。。
希望高手多多指教。。
解决方案 »
- C#中数据库备份与恢复问题 急 在线等待
- C#发邮件21cn
- 求助c# datagridview控件问题
- 求救!! 这两段代码如何用java实现?有什么区别阿?
- ~~求救~~~!!关于发布的问题!!(急)
- 写了一个重绘按钮的类,不知道怎么调用,郁闷
- 请问在用C#编写的程序中,怎样调用jsp文件,并得到返回值
- 使用InstallShield X部署asp.net程序的奇怪问题,与IIS的主目录有关,看来只有高手能解决了!
- 关于DataWinow String array 类型参数问题
- 如何调试打包好的net安装文件?也就是是否可以知道文本框的内容
- 送分题
- 高分请教用C#写的ACTIVEX控件嵌入到网页中有的机子上无法显示的问题?
如果是的话,自己写个HBHelper类吧,统一管理连接,减少这些操作的次数。
谢谢提示
还有没有更好的解决方案呢???
由于是并发操作,所有人都做同样的事,就像买车票一样的感觉。。只不过我是有30个(以后会更多)。
怎么保证每个人取得的数据不重复呢
我现在最郁闷的就是这个了,
现在让他们取的是不同的Type的数据,即不同的Group的数据
select 的 where
先type 后再 id
先id 后再 type
直接id
哪个更好。。SQL server没有差别,Oracle先id快执行慢的问题你可以在查询分析器里看看执行计划,是不是也一样慢?
CPU高
以前也高过,是因为数据库没有index,查询没有index,后来添加了index,修改后效果非常明显。
现在又在update时h了,估计还是数据库优化的问题。。
intel(r)Pentium(r)Dual CPU E2160 @1.8H2G RAMCPU一直80-100
现在我把一些问题总结如下:
查询,插入,删除,update时的where尽量是主key
没法主key的做index,index如果是相同的多,把它整成聚集的