仓酷云

标题: 重置SqlServer表的自增列,让自增列从头入手下手记数 [打印本页]

作者: 简单生活    时间: 2015-1-16 14:18
标题: 重置SqlServer表的自增列,让自增列从头入手下手记数
mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗良多时分我们必要重置某个表的自增列,让自增列从头从1入手下手记数。最蠢的办法固然是把该表删失落再从头建表了。实在,另有别的的办法能够重置自增列的值:

办法一:利用TRUNCATETABLE语句
TRUNCATETABLE删除表中的一切行,而不纪录单个行删除操纵,同时重置自增列。TRUNCATETABLE在功效上与没有WHERE子句的DELETE语句不异;可是,TRUNCATETABLE速率更快,利用的体系资本和事件日记资本更少。

办法二:利用DBCCCHECKIDENT语句
DBCCCHECKIDENT在SQLServer2008R2中反省指定表确当前标识值,若有需要,则变动标识值。还可使用DBCCCHECKIDENT为标识列手动设置新确当前标识值。

语法:
DBCCCHECKIDENT
(
table_name
[,{NORESEED|{RESEED[,new_reseed_value]}}]
)
[WITHNO_INFOMSGS]

参数:
table_name:是要对其以后标识值举行反省的表名。指定的表必需包括标识列。表名必需切合标识符划定规矩。
NORESEED:指定不该变动以后标识值。
RESEED:指定应当变动以后标识值。
new_reseed_value:用作标识列确当前值的新值。
WITHNO_INFOMSGS:作废显现一切信息性动静。

示例:我们要重置表t1确当前标识值为1,sql以下:
dbcccheckident(t1,reseed,1)

我们要查询表t1确当前标识值,sql以下:
dbcccheckident(t1,noreseed)
每个Rows_log_event中包含event_type,可选值为WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT。从宏名字就能看出用途。
作者: 小魔女    时间: 2015-1-18 12:50
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
作者: 柔情似水    时间: 2015-1-18 12:50
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 再现理想    时间: 2015-1-25 16:44
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
作者: 灵魂腐蚀    时间: 2015-2-8 21:50
大侠们有推荐的书籍和学习方法写下吧。
作者: 爱飞    时间: 2015-2-26 11:38
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
作者: 只想知道    时间: 2015-3-8 14:40
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
作者: 兰色精灵    时间: 2015-3-16 03:12
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
作者: 莫相离    时间: 2015-3-22 19:30
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2