小编RGS*_*RGS的帖子

哪种表设计最适合 SQL Server 中的规范化?

我在我们的应用程序中有三种不同的产品,即车辆、黄金和财产。每个产品都有近 30 种不同的库存详细信息。我设计了我的表结构如下:-

标题表:-

 PkId ------ + ProductFkId------ + AssetId ------ + RegNo
  1          | 1                 | A00001         | R0001   
  2          | 2                 | A00002         | R0001
  3          | 3                 | A00003         | R0001
Run Code Online (Sandbox Code Playgroud)

车辆库存表:-

 PkId ---------------+ HeaderFkId -------- + Make ------- + Model  
  1                  | 1                   | Toyota       | Etios Cross Dieselvdsp
  2                  | 2                   | Toyoto       | Etios Dieselgd
  3                  | 3                   | Toyota       | Etios Dieseld-4d Gd
Run Code Online (Sandbox Code Playgroud)

黄金库存表:-

  PkId ------- + HeaderFkId ----- + Carat18 ----- + …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2016

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

由于列大小过长,查询需要更多时间来执行

当我尝试在 SSMS 中执行以下查询时,由于列大小过长(列名称:关键字,列大小:nvarchar(4000)),查询需要更多时间(超过 10 分钟)来执行。员工表包含 6000 条记录。

Select EmployeeId, EmployeeName, Designation, Keywords
From Employees
Where StatusFlag = 'L'
Run Code Online (Sandbox Code Playgroud)

我为上表创建了下面的非聚集覆盖索引。

Create NonClustered Index NCI_Employees_StatusFlag On Employees(StatusFlag) Include (EmployeeId, EmployeeName, Designation, Keywords) 
Run Code Online (Sandbox Code Playgroud)

如何更快地从上表中检索数据?

sql-server sql-server-2012

0
推荐指数
1
解决办法
83
查看次数