主页 > 知识库 > 数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)

数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)

热门标签:兰州语音外呼系统运营商 数字匠心电销机器人 al智能电话机器人 银川高频外呼回拨系统多少钱 没听见电话机器人帮你接 如何做地图标注图铺 成都电话外呼系统一般多少钱 陕西电销外呼系统好用吗 最新人工智能电销机器人
但是,具有identity特性的字段,不需要具有唯一性,更不必须是主键。

可以通过,set identity_insert tablename (on|off),在运行时控制,是否可以在identity字段中指定值,而不是由系统自动的插入值。

那么,这有什么用处呢。举个例子来说,两个用户之间的聊天,可以有多次,这个用一个chatsession来表示。在数据库中,我们需要三个表: user, chatsession(sessionid identity,...), user_chatsession (userid, sessionid, ...), 来表示这个关系。这里面,多出了一个表chatsession, 其主键sessionid具有identity特性,并且在user_chatsession中被引用。

但是,我们知道,数据库写操作比读操作的开销要大很多,如果我想做优化,把chatsession整个的去掉,那应该怎么做呢.

这时,就会用到我说的这一点。首先把 user_chatsession 中的sesssionid变成identity 字段,在插入一个session中的第一个 user-session (for user a)记录时,让系统产生sessionid, 然后记录下这个sessionid, 在插入一个session中后续的 user-session (for user b, user c...), 执行set identity_insert tablename on,就可以把先前记录的sessionid值插入。

还有另外一个方法,比较笨一点,就是用 select max(sessionid) + 1 from table where userid = @useridA,来获得要新插入的sessionid, 这种方法性能上显然差了许多。
您可能感兴趣的文章:
  • Oracle数据库性能优化技术开发者网络Oracle
  • SQL Server数据库性能优化技术
  • SQL Server数据库的高性能优化经验总结
  • 数据库性能优化三:程序操作优化提升性能
  • 数据库性能优化二:数据库表优化提升性能
  • 数据库性能优化一:数据库自身优化提升性能
  • MySQL性能优化的一些技巧帮助你的数据库
  • 解析MySQL数据库性能优化的六大技巧
  • 数据库访问性能优化

标签:盐城 本溪 邢台 辽源 宜春 通化 巴彦淖尔 朔州

巨人网络通讯声明:本文标题《数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)》,本文关键词  数据库,中,identity,字段,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)》相关的同类信息!
  • 本页收集关于数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招)的相关信息资讯供网民参考!
  • 推荐文章