在asp.net开发查找表时,仅做查询用途,是否应依赖自动生成的主键?

2026-03-30 11:391阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计522个文字,预计阅读时间需要3分钟。

在asp.net开发查找表时,仅做查询用途,是否应依赖自动生成的主键?

我有一个包含两个varchar(Max)列的表:Column 1, Column 2。

URL重写后的原始URL:我的网址部分重写为asp.net webforms网站。当一个网址进来时,我会检查它是否在表结构中,如果是,那么它是我使用的。

我有一个有两个varchar(Max)列的表

Column 1 Column 2 ----------------------- URLRewitten OriginalURL

我的网址部分重写为asp.net webforms网站.

当一个网址进来时,我会检查它是否在表格中,如果它是我使用的是OriginalURL.

我的问题是,如果我正在做的是查询表中的URL,并且数据库中没有其他表将链接到此表是否需要专用的主键字段?像一个自动编号?这会使查询更快吗?

在asp.net开发查找表时,仅做查询用途,是否应依赖自动生成的主键?

以及如何让查询运行得更快?

编辑:我对URLRewitten有一个独特的约束.

编辑:我正在使用这张桌子的方式..

>查询新请求何时进入..搜索URLRewitten以查找OriginalURL
>当需要在网站上显示链接时,我在OriginalURL上查询以找到我应该使用的URLRewitten网址.
>向表中添加新URL时,请确保它尚不存在.

这就是我所做的所有查询..此刻.

两列一起是唯一的.

你需要一把钥匙吗?是.总是.但是,看起来在你的情况下,OriginalURL可能是你的主键(我假设对于OriginalURL中的给定值,URLRewritten的值不会超过一个).

这就是所谓的“自然键”(数据本身的一个组成部分本质上是唯一的).这些可能很方便,但我发现它们在大多数情况下通常比它们的价值更麻烦,所以是的,我会推荐某种不透明的键(意思是与行中的数据无关的键) ,除了识别单行).您是否想要自动编号取决于您自己.它当然很方便,虽然标识列有自己的优点和缺点.

现在我想我会建议创建两件事:

>标识列表的主键>对OriginalURL的唯一约束,以强制数据完整性.

本文共计522个文字,预计阅读时间需要3分钟。

在asp.net开发查找表时,仅做查询用途,是否应依赖自动生成的主键?

我有一个包含两个varchar(Max)列的表:Column 1, Column 2。

URL重写后的原始URL:我的网址部分重写为asp.net webforms网站。当一个网址进来时,我会检查它是否在表结构中,如果是,那么它是我使用的。

我有一个有两个varchar(Max)列的表

Column 1 Column 2 ----------------------- URLRewitten OriginalURL

我的网址部分重写为asp.net webforms网站.

当一个网址进来时,我会检查它是否在表格中,如果它是我使用的是OriginalURL.

我的问题是,如果我正在做的是查询表中的URL,并且数据库中没有其他表将链接到此表是否需要专用的主键字段?像一个自动编号?这会使查询更快吗?

在asp.net开发查找表时,仅做查询用途,是否应依赖自动生成的主键?

以及如何让查询运行得更快?

编辑:我对URLRewitten有一个独特的约束.

编辑:我正在使用这张桌子的方式..

>查询新请求何时进入..搜索URLRewitten以查找OriginalURL
>当需要在网站上显示链接时,我在OriginalURL上查询以找到我应该使用的URLRewitten网址.
>向表中添加新URL时,请确保它尚不存在.

这就是我所做的所有查询..此刻.

两列一起是唯一的.

你需要一把钥匙吗?是.总是.但是,看起来在你的情况下,OriginalURL可能是你的主键(我假设对于OriginalURL中的给定值,URLRewritten的值不会超过一个).

这就是所谓的“自然键”(数据本身的一个组成部分本质上是唯一的).这些可能很方便,但我发现它们在大多数情况下通常比它们的价值更麻烦,所以是的,我会推荐某种不透明的键(意思是与行中的数据无关的键) ,除了识别单行).您是否想要自动编号取决于您自己.它当然很方便,虽然标识列有自己的优点和缺点.

现在我想我会建议创建两件事:

>标识列表的主键>对OriginalURL的唯一约束,以强制数据完整性.