网站地图
新开私服
57私服首页 网游私服外挂 今日传奇3私服 今日奇迹私服 新开传奇私服 最新私服IP

服务器数据库完全优化指南,提速提速再提速


奇迹私服,传奇私服首页 作者:mu 发表时间:2004-4-8 10:00:24

【更多今日新开奇迹私服点这里查看...】

使用下面优化方式,可以大幅提高服务器相应能力,对低配置服务器最显著,对高性能服务器在巨量接入负载时也会有显著性能提升

修改表结构
Muonline的joinlog表,修改如下
servername修改为 char,长度20
ip修改为 char,长度15
然后建立或修改以下存储过程
1:登陆连接用
CREATE PROCEDURE WZ_CONNECT_MEMB
@uid varchar(20),
@Server varchar(10),
@uip varchar(15)
AS
Begin
Declare @dtToday datetime
select @dtToday={fn CURDATE()}
select @dtToday
set nocount on
if exists(select * from Uselog where id=@uid)
begin
update Uselog set State= 上线 where id=@uid
INSERT INTO joinlog( ServerName,id,state,ip,sdatetime) values (@Server,@uid,上线,@uip,@dtToday)
if(@@error <> 0)
begin
rollback
select-1
end
else
begin
commit
select @uid
end
end
else
begin
INSERT INTO Uselog ( ServerName,id,ip,State) values ( @Server , @uid, @uip,上线)
INSERT INTO joinlog( ServerName,id,state,ip,sdatetime) values (@Server,@uid,上线,@uip,@dtToday)
end
end
GO

2:注销登陆用
CREATE PROCEDURE WZ_DISCONNECT_MEMB
@uid varchar(10)
AS
Begin
DECLARE @uidl varchar(10)
Declare @dtToday datetime
Declare @logindate datetime
Declare @uip varchar(15)
Declare @Server varchar(15)
select @dtToday={fn CURDATE()}
select @dtToday
set nocount on
begin transaction
update Uselog set State= 下线 where id=@uid
INSERT INTO joinlog(id,state,sdatetime) values (@uid,下线,@dtToday)
if(@@error <> 0)
begin
rollback transaction
select-1
end
else
begin
commit transaction
select @uid
end
end
GO

建立索引
1:仓库索引
CREATE
INDEX [warehouse_accountid_index] ON [dbo].[warehouse] ([AccountID])
WITH
DROP_EXISTING
ON [PRIMARY]

2:角色选择画面索引
CREATE
INDEX [accountcharactet_id_index] ON [dbo].[AccountCharacter] ([Id])
WITH
DROP_EXISTING
ON [PRIMARY]

3:角色索引
CREATE UNIQUE
INDEX [pk_character_index_wy] ON [dbo].[Character] ([AccountID] desc , [Name] desc , [Money])
WITH
DROP_EXISTING
ON [PRIMARY]

4:角色登陆索引
CREATE
INDEX [pk_membpwd_index] ON [dbo].[MEMB_INFO] ([memb__pwd])
WITH
DROP_EXISTING
ON [PRIMARY]
以上代码分别在查询分析器里执行,执行后登陆看看,打开仓库看看,速度如何:)

注意
下列命令是如果系统中存在则删除已存在的索引
WITH
DROP_EXISTING
ON [PRIMARY]
如果没有,删除自然出错并返回

服务器: 消息 7999,级别 16,状态 9,行 1
未能找到任何名为 warehouse_accountid_index 的索引(属于表 warehouse)

删除建立索引命令内的
WITH
DROP_EXISTING
ON [PRIMARY]
这部分再运行就可以了。
另外建立索引可以加快服务器数据库查询速度,应该可以在解决由于延迟导致的复制问题


相关新闻
[4-8] 用数据库日志文件恢复数据库
[4-8] top100.asp的漏洞
[4-8] 任意地图刷黄金破坏的方法
[4-8] 商店里物品代码
[4-8] 修改人物属性为GM和GM命令
[4-8] 宝石价格修改代码
[4-8] 提高灵魂和生命的成功率

免责声明:57sf.com登载此文出于传递更多信息之目的,并不意味着57sf.com赞同其观点或证实其描述
 
 Copyright 2004 57sf.com Corporation. All Rights. 奇迹私服版权所有传奇私服 热血江湖私服