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

来源:asp之家 时间:2011-09-30 11:26:06 

但是,具有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, 这种方法性能上显然差了许多。

标签:identity,唯一值
0
投稿

猜你喜欢

  • 通过javascript进行UTF-8编码的实现方法

    2024-04-16 10:39:49
  • ant-design-vue中的select选择器,对输入值的进行筛选操作

    2024-04-26 17:41:26
  • window安装mysql(zip、noinstall)

    2009-10-17 21:10:00
  • oracle,mysql,SqlServer三种数据库的分页查询的实例

    2024-01-13 13:04:38
  • python人工智能tensorflow函数tf.nn.dropout使用方法

    2023-11-16 17:45:44
  • 解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题

    2021-06-03 06:31:22
  • 详解Python 函数如何重载?

    2021-04-11 04:48:30
  • JS生成一维码(条形码)功能示例

    2024-04-26 17:12:30
  • 使用 Python 玩转 GitHub 的贡献板(推荐)

    2021-10-10 01:12:11
  • 纯JS单页面赛车游戏制作代码分享

    2024-02-23 14:10:17
  • Python机器学习NLP自然语言处理基本操作词袋模型

    2023-08-20 06:23:30
  • python中web框架的自定义创建

    2023-09-18 14:54:24
  • python pycharm最新版本激活码(永久有效)附python安装教程

    2022-08-16 14:08:56
  • bootstrap自定义样式之bootstrap实现侧边导航栏功能

    2023-09-06 20:41:36
  • python 使用openpyxl读取excel数据

    2021-02-10 07:32:10
  • Python 专题二 条件语句和循环语句的基础知识

    2022-11-29 16:46:41
  • Python3 常用数据标准化方法详解

    2022-08-02 01:51:31
  • 在kali上安装AWVS的图文教程

    2022-12-13 23:58:24
  • Flask模板引擎之Jinja2语法介绍

    2021-11-15 21:08:11
  • 在MySQL中用正则表达式替换数据库中的内容的方法

    2024-01-17 02:51:57
  • asp之家 网络编程 m.aspxhome.com