【发布时间】:2013-07-09 13:08:50
【问题描述】:
我在 SQL Server 2012 上有一个数据库,但我遇到了一些问题,一些表在一段时间后变得很慢,而有助于重建索引的事情。我想知道是否有人对其中任何一个可能出现的问题提出建议,我将在下面发布它们的结构和索引。我自己没有建立这个结构,但有完全的修改权限。
表1
- ID(整数,非空)
- 类型(tinyint,非空)
- 名称(PK,nvarchar(255),不为空)
- fkID(PK,int,非空)
- UID(整数,非空)
索引:
- I_UID(唯一,非集群)[UID]
- I_Name(非唯一、非集群)[类型、名称]
- pk_Name(集群)[名称,fkID]
表2
- ID(PK、bigint,非空)
- 名称(nvarchar(50),非空)
- ShortValue (nvarchar(250), null)
- StringValue (nvarchar(max), null)
- IntValue (int, null)
- FloatValue (float, null)
- DateTimeValue(日期时间,空)
- BoolValue(位,空)
- fkPID (FK, int, null)
- fkAID (FK, int, null)
- fkAGID (FK, int, null)
- fkVID (FK, int, null)
- fkCID (FK, int, null)
- fkL (FK, int, not null)
- fkIMID(FK,非空)
- fkPRID (FK, int, null)
- fkNID (int, null)
索引:
- I_AG(非唯一、非集群)[fkAGID]
- I_IM(非唯一、非集群)[fkIMID]
- I_R(非唯一、非集群)[fkPRID]
- PK_D(集群)5447370
- I_PDL(非唯一、非集群)[fkL]
Table3
- ID(PK,int,非空)
- fkPID (FK, int, not null)
- fkAID (FK, int, not null)
- 排序(int,非空)
- 组 (nvarchar(50), null)
- 大小(int,null)
- FMB (nvarchar(50), null)
索引:
- PK_D(集群)5447370
- I_PAA(非唯一、非集群)[fkAID]
- I_PAP(非唯一、非集群)[fkPID]
- I_PAPID(非唯一,非集群)[fkPID,fkAID]
【问题讨论】:
-
为什么主键是name而不是ID?
-
恢复了以前的编辑 - 更改的标题具有误导性,格式也没有好多少。
-
好问题@BobVale,我真的不认为有充分的理由,所以我可能应该改变它。同样基于以下 D Stanley 的回复。
标签: sql sql-server