sqlserver 关于索引

boytomato 2007-07-10 09:12:18
表结构如下


CREATE TABLE [dbo].[Flow_Info_List] (
[Flow_Id] [int] IDENTITY (1, 1) NOT NULL ,
[Flow_Time] [datetime] NULL ,
[Flow_Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Flow_Bc_Id] [int] NULL ,
[Flow_Dz_id] [int] NULL ,
[Flow_X] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Flow_Out_Time] [datetime] NULL ,
[Flow_In_Out_Flag] [int] NULL ,
[Flow_In_Time] [datetime] NULL ,
[Flow_Dept_Child_id] [int] NULL ,
[Flow_In_User] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Flow_Out_User] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO






[Flow_Name]
[Flow_Bc_Id]
[Flow_Dz_id]

[Flow_Dept_Child_id]
和外部要关联查询

[Flow_Name]
[Flow_Bc_Id]
[Flow_Dz_id]

[Flow_Dept_Child_id]

[Flow_Time]在 where 里作为条件

用什么类型的索引比较好。


...全文
173 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lang8134 2007-07-11
  • 打赏
  • 举报
回复
"与外表做连接的字段不需要索引"
================================
错的,需要.不然很慢的.

我觉得你随便建个索引就行了,聚集索引一般都被主键占了,所以你也没什么选择了.
boytomato 2007-07-11
  • 打赏
  • 举报
回复
大家继续
viva369 2007-07-10
  • 打赏
  • 举报
回复
查询条件用的最多,排序用的最多的字段用聚集索引,与外表做连接的字段不需要索引。
Flow_Time如果在查询条件中没有的话,没有必要加索引,如果不是很精通,建议还是用在主键上
Derek_cap 2007-07-10
  • 打赏
  • 举报
回复
Flow_Time 上用聚集索引。
个人感觉 Flow_Time上最好为 not null , 在where条件下 null 值不显示。

也可以考虑在
[Flow_Name]
[Flow_Bc_Id]
[Flow_Dz_id]

[Flow_Dept_Child_id] 等 外键上做聚集索引,
要看你经常查询的条件了。
毕竟聚集索引只有一个,要珍惜利用。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧