原理:sql得查询得运算快慢是与索引有关的,当某个数据库记录的数据达到上百万条以后,数据库又没有索引,这样dataserver 的处理时有一个时间问题,在人数达到500人以后,基本上处理查询时间要5秒以上,再加上warehouse的记录有重复数据,而且没有索引,所以登陆就很慢了,可以在dataserver上看到recvQ:XXXXX的数字,这表示目前服务器还有多少条查询或修改命令等待处理。
在数据库muonline中有存储过程里除了处理item(复制)得程序,没有其它的,所有处理全是实时交换的,那么仔细看一下,其交换的数据,主要就是对character,optiondata,warehouse进行处理,对于character 已是做了索引的,那么现在要处理的就是另外两个表。
方法:1、清除optiondata表:delete optiondata
2、处理warehouse重复数据:为避免错误,先建一个备份表
select * into warehousebak from warehouse
查找重复数据:select accountid into warehousecf from warehouse group by accountid having count(*)>1
倒出重复数据: select * into warehousesj from warehouse where accountid in (select accountid from warehousecf)
清理warehouse重复数据:delete warehouse where accountid in (select accountid from warehousecf)
把重复数据用导出数据方式为access表(warehousesj)
在office下,打开你导出的表,删除相同得,但是要保留一个!!!!
把表导回muonline,导入前,删了 warehousesj表,
最后把数据插入warehosue: insert into warehouse select * from warehousesj
你可以建一个索引。
3.在windows任务 管理器中,把dataserve 55960 进程设为实时