【发布时间】:2009-09-09 14:43:28
【问题描述】:
我有一个访问 sql 数据库的 VB 应用程序。我认为它运行缓慢,我想也许我没有索引表。我想知道您将如何创建索引?情况是这样的。
我的主循环是
Select * from Docrec
Order by YearFiled,DocNumb
在这个循环中,我还有另外两个数据库命中。
Select * from Names
Where YearFiled = DocRec.YearFiled
and Volume = DocRec.Volume and Page = DocRec.Page
Order by SeqNumb
Select * from MapRec
Where FiledYear = DocRec.YearFiled
and Volume = DocRec.Volume and Page = DocRec.Page
Order by SeqNumb
希望我说得通。
【问题讨论】:
-
我已经跟踪到点击名称表的速度。我向由 YearFiled、Volume、Page 和 SeqNumb 组成的 namerec 表添加了一个非聚集索引。同样在这里与 DBA 交谈后,我添加了一个身份作为主键。他还让我将数据库中的数据类型从 char 切换为 varchar。这只是稍微加快了进程。我有一个新问题。不确定我是否应该将其发布为新的?我通常在我的 VB 应用程序中使用变量的数据类型,因为它接受 NULL 值。它们在数据类型之间是否存在性能差异?
标签: sql sql-server sql-server-2005 tsql vb6