相关疑难解决方法(0)

为什么aspnet_users使用guid作为id而不是递增int?有关扩展用户字段的帮助的奖励积分

为什么aspnet_users使用guid作为id而不是递增int?

还有什么理由不在其他表中使用它作为主键?感觉有点奇怪,因为我知道我以前使用的大多数应用程序只使用普通的int系统.

我也将开始使用此id来匹配扩展的详细信息表以获取额外的用户prefs等.我还在考虑使用带有guid和int的链接表,但我决定,因为我不认为我实际上需要将用户ID作为public int.

虽然我想有int(感觉更容易做用户查找等stackoverflow.com/users/12345/user-name),因为我只是要有用户名,我不认为我需要携带这个当我需要找到一个用户int时,周围的项目并且会增加查找的额外复杂性.

感谢您对此任何帮助.

asp.net authentication guid uniqueidentifier

6
推荐指数
2
解决办法
1811
查看次数

SQL Server中唯一标识符列上的群集/非群集索引

我已经阅读了这里的各种问题/答案,基本上表明,由于性能原因,在uniqueidentifier列上使用聚簇索引是一个糟糕的选择.无论如何,我需要使用uniqueidentifier作为我的主键,我不想使用newsequentialid(),因为生成的值彼此太相似(我需要更多随机ID,因此用户无法[合理地]'猜测'另一个ID).

那么,这个PK索引的最佳方法是什么?即使此列上的聚簇索引不理想,它是否优于"唯一的非聚集"索引?

我正在使用SQL Server 2005.

sql-server indexing uniqueidentifier

4
推荐指数
1
解决办法
3977
查看次数

SQL Server慢插入 - SqlBulkCopy性能

我有一个拥有3000万行的数据库.PK聚集索引是生成的代码GUID.

表格如下:

CREATE TABLE [dbo].[events](
    [imageEventGUID] [uniqueidentifier] NOT NULL,
    [imageSHAID] [nvarchar](256) NOT NULL,
    [queryGUID] [uniqueidentifier] NOT NULL,
    [eventType] [int] NOT NULL,
    [eventValue] [nvarchar](2050) NULL,
    [dateOfEvent] [datetime] NOT NULL,
 CONSTRAINT [PK_store_image_event] PRIMARY KEY CLUSTERED 
(
    [imageEventGUID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
Run Code Online (Sandbox Code Playgroud)

简单地说它是一个图像搜索引擎.

  • imageEventGUID 是代码唯一标识符,
  • imageSHAID 是图像URL的SHA256
  • queryGUID 是生成FK的代码(为简洁起见,从create语句中排除)
  • eventType 是一个分配给它是什么类型的事件的数字
  • eventValue通常是图像的URI,例如" http://mywebpage.com/images/image123456789.jpg "

我定期使用非常标准的代码将via SqlBulkCopy(从a DataTable)插入到此表中:

using (SqlBulkCopy …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server sqlperformance

3
推荐指数
1
解决办法
3882
查看次数