msyql中ado如何同时update多条记录 msyql中ado如何同时update多条记录 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 conn.execute "update table1 set xx=123 where id<10" 为提高理解的效率,建议举例说明或提供测试用例。 建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。 数据表大小对 数据记录的更新速度有没有影响理论上表中记录越多,更新一条记录的速度当然速度会越慢 。update xxx set col=123 where id=909更新的时间主要是由 查找部分,更新值,维护索引构成。 记录越多对第一部分[查找部分]有影响,但愿如果设置了适当的索引,则影响很小。 CREATE TABLE `playerinfo_year` ( `PlayerID` int(11) NOT NULL, `LastLoginDate` datetime default NULL, `LastUpdateDate` datetime default NULL, `LastIP` varchar(16) default NULL, `LastSevID` int(11) NOT NULL default '0', `OnlineSec` int(11) NOT NULL default '0', `IsOnline` int(11) NOT NULL default '0', `Mark` decimal(16,1) NOT NULL default '0.0', `Hurt` decimal(16,0) NOT NULL default '0', `Kills` int(11) NOT NULL default '0', `Deaths` int(11) NOT NULL default '0', `HeadShoots` int(11) NOT NULL default '0', `HeadShootRate` decimal(16,4) NOT NULL default '0.0000', `HeadShots` int(11) NOT NULL default '0', `Fire` decimal(16,0) NOT NULL default '0', `Hit` decimal(16,0) NOT NULL default '0', `HitRate` decimal(16,4) NOT NULL default '0.0000', `PlayerLevel` int(11) NOT NULL default '1', `PlayerRank` int(11) NOT NULL default '0', `ActiveTime` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`PlayerID`), KEY `PlayerLevel` (`PlayerLevel`), KEY `IsOnline` (`IsOnline`), KEY `ActiveTime` (`ActiveTime`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;这是我的表结构 现在的记录条数是4766349,我现在要对playerinfo_year做频繁的更新操作 我现在要对playerinfo_year做频繁的更新操作猜不出你想做的操作是什么? update `playerinfo_year` set `PlayerLevel` =1 是不是你想要的? update `playerinfo_year` set `PlayerLevel` =1,Fire = 5.... where payerid = 98类似这样的操作 这个问题与MYSQL有关系吗??? SQL查询sum的问题 如何增加一个虚拟字段? mysql服务启动不了了 急急急存储过程问题 请问一下大家在mysql中存放guid的时候用什么类型呢?并说明理由。谢谢 加入MySQl.h后,在头文件中出现了数据类型未定义的问题 怎样能列出mysql中的数据库? 我的mysqlAdmin的一个奇怪问题? mysql 更新字段怎么写,我试了一下,没成功~~~ SQL统计在线时长 怎么解 如何取出这种特殊需求的数据表中的值? 请问如何高效率的把一个用秒表示的时间查询成时间字符格式
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
update xxx set col=123 where id=909
更新的时间主要是由 查找部分,更新值,维护索引构成。 记录越多对第一部分[查找部分]有影响,但愿如果设置了适当的索引,则影响很小。
`PlayerID` int(11) NOT NULL,
`LastLoginDate` datetime default NULL,
`LastUpdateDate` datetime default NULL,
`LastIP` varchar(16) default NULL,
`LastSevID` int(11) NOT NULL default '0',
`OnlineSec` int(11) NOT NULL default '0',
`IsOnline` int(11) NOT NULL default '0',
`Mark` decimal(16,1) NOT NULL default '0.0',
`Hurt` decimal(16,0) NOT NULL default '0',
`Kills` int(11) NOT NULL default '0',
`Deaths` int(11) NOT NULL default '0',
`HeadShoots` int(11) NOT NULL default '0',
`HeadShootRate` decimal(16,4) NOT NULL default '0.0000',
`HeadShots` int(11) NOT NULL default '0',
`Fire` decimal(16,0) NOT NULL default '0',
`Hit` decimal(16,0) NOT NULL default '0',
`HitRate` decimal(16,4) NOT NULL default '0.0000',
`PlayerLevel` int(11) NOT NULL default '1',
`PlayerRank` int(11) NOT NULL default '0',
`ActiveTime` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`PlayerID`),
KEY `PlayerLevel` (`PlayerLevel`),
KEY `IsOnline` (`IsOnline`),
KEY `ActiveTime` (`ActiveTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;这是我的表结构 现在的记录条数是4766349,我现在要对playerinfo_year做频繁的更新操作
update `playerinfo_year` set `PlayerLevel` =1 是不是你想要的?