|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。问:我想以一次5,000行的体例批量更新一个年夜型表,但我不晓得如何支解数据。该表不包括增量数字或整数主键。如何才干在坚持优秀功能的同时完成数据更新呢?
答:假如晓得哪些行还没有被更新,您可使用复杂的谓词来扫除已更新的行,ROWCOUNT设置能够匡助您批量支解数据。以下的代码清单申明了怎样利用该设置:
SETROWCOUNT1000
WHILE(1=1)BEGIN
BEGINTRANSACTION
UPDATE...set...,MyLastUpdate=date,...WHERE
MyLastUpdate<date
--更新1000未更新行
IF@@ROWCOUNT=0
BEGIN
COMMITTRANSACTION
BREAK
END
COMMITTRANSACTION
END
在指定的行数前往后,ROWCOUNT将使SQLServer中断查询处置。这项手艺很有效,由于它制止了大批更新而至的并发射中;更新中的行数越少,更新义务使其他用户不克不及会见该数据的大概性就越小。分离事件日记备份,这一办法还可使您的事件日记的巨细降至最低。
假如没有辨认已更新行的机制,您可使用游标遍历一切数据并提交每一个x值。可是,游标占用服务器资本的工夫一般要多于基于汇合的语句。
―MicrosoftSQLServer开辟团队
”由于MySQL已经是一个运行了众多知名Web2.0网站的数据,包括Craigslist、Digg、Wikipedia和Google等,或许我们可以说每一个Web2.0公司实质上是一个使用MySQL数据库的公司。 |
|