另外:有个表的数据量是100万级的 怎么优化这个表(自己本地测试了下在150万数据表上面建立索引 查询速度反而比没有索引的查询速度慢)
解决方案 »
- SQL语句建立主键问题
- CREATE TABLE 2EB0B250_tab(ID bigint, Name varchar(50), Pwd varchar(20));
- 同样的表、记录,为什么在MSDE下创建的数据库字节要比SQL SERVER 2000(个人版)下创建大2倍(MDF大2倍,LDF一样的)?
- 触发器中select 求和也用sum么?请帮忙
- 烦请写个SQL函数
- 远程连接sql2000后,停一分钟后自动掉线是什么原因
- 合并多条数据成一行
- 不惜分:如何监控某用户执行的SQL语句?
- 关于这个substring 的详细说明,我你们说的办法我都试了还是不行???
- SQL语句,救命啊(不知道这叫行转列还是列转行)!!!
- 求:可以跳过用select查询时候的sql的报错,把表里面的内容都查询或导出来的工具??
- 简单的SQL日期时间问题
1、防杀毒软件造成故障
由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,者,升级你的硬件配备。
2、驱动没有经过认证,造成CPU资源占用100%
大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。
3、病毒、木马造成
大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
4、控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。
5、开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。
6、查看“svchost”进程。
svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。
7、查看网络连接。主要是网卡。
8、查看网络连接
当安装了Windows XP的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。
要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:
9、看看是不是Windows XP使用鼠标右键引起CPU占用100%
在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题:
任何文件的拷贝操作在那个时间将有可能停止相应
网络连接速度将显著性的降低
所有的流输入/输出操作例如使用Windows Media Player听音乐将有可能是音乐失真成因:
当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,CPU占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。
反正我觉得有一点不会错,加CPU,加内存,加RAID缓存,加RAID硬盘
现在主要的问题是连接数太多了 同时有200人连着
连接数多,建议还是优化客户端程序
这个表里面的数据:100万
有什么办法能定时查杀死锁的进程吗?
/*--调用示例exec p_lockinfo
--*/
create proc p_lockinfo
@kill_lock_spid bit=0, --是否杀掉死锁的进程,1 杀掉, 0 仅显示
@show_spid_if_nolock bit=1 --如果没有死锁的进程,是否显示正常进程信息,1 显示,0 不显示
as
declare @count int,@s nvarchar(1000),@i int
select id=identity(int,1,1),标志,
进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid,
数据库名=db_name(dbid),用户ID=uid,用户名=loginame,累计CPU时间=cpu,
登陆时间=login_time,打开事务数=open_tran, 进程状态=status,
工作站名=hostname,应用程序名=program_name,工作站进程ID=hostprocess,
域名=nt_domain,网卡地址=net_address
into #t from(
select 标志='死锁的进程',
spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
status,hostname,program_name,hostprocess,nt_domain,net_address,
s1=a.spid,s2=0
from master..sysprocesses a join (
select blocked from master..sysprocesses group by blocked
)b on a.spid=b.blocked where a.blocked=0
union all
select '|_牺牲品_>',
spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran,
status,hostname,program_name,hostprocess,nt_domain,net_address,
s1=blocked,s2=1
from master..sysprocesses a where blocked<>0
)a order by s1,s2select @count=@@rowcount,@i=1if @count=0 and @show_spid_if_nolock=1
begin
insert #t
select 标志='正常的进程',
spid,kpid,blocked,dbid,db_name(dbid),uid,loginame,cpu,login_time,
open_tran,status,hostname,program_name,hostprocess,nt_domain,net_address
from master..sysprocesses
set @count=@@rowcount
endif @count>0
begin
create table #t1(id int identity(1,1),a nvarchar(30),b Int,EventInfo nvarchar(255))
if @kill_lock_spid=1
begin
declare @spid varchar(10),@标志 varchar(10)
while @i<=@count
begin
select @spid=进程ID,@标志=标志 from #t where id=@i
insert #t1 exec('dbcc inputbuffer('+@spid+')')
if @标志='死锁的进程' exec('kill '+@spid)
set @i=@i+1
end
end
else
while @i<=@count
begin
select @s='dbcc inputbuffer('+cast(进程ID as varchar)+')' from #t where id=@i
insert #t1 exec(@s)
set @i=@i+1
end
select a.*,进程的SQL语句=b.EventInfo
from #t a join #t1 b on a.id=b.id
end
go
用这个过程杀死锁进程 会不会影响数据库的正常运行
哎 代码不是我写的啊写代码的人离职了 他自己早知道 死锁这个BUG。。可他无从下手
我记得以前我们有一个sun的小型机在150人连接的时候也跑不动。当然数据量比你们的大了n倍。
我觉得你们那机器配置,70-90人的连接数差不多了。
关于死锁的问题,建议好好查一下,怀疑索引或者逻辑有问题。
至强4颗CUP2.0 内存由2G增加至现在的6GB
可不知道(nolock)会不会引起其他问题。。因为系统的使用时间很宝贵 如果有点点差错就可能造成经济损失一直不敢动同事的代码;
1-能让数据库完成的就用数据库完成,比如有些客户端的事务可以用触发器完成,忽略掉客户端的一点时间就是胜利.
2-建立索引,定期维护,注意一下索引的填充因子,这样可以解决客户端查询的资源占用.
3-重新分析业务流程,做好流程分析,然后重建业务,当然了,这得花很多很多的时间,相当于重新开发一个系统来替代老的系统了.
2-- 填充因子 不太理解。。有劳解释下。。