客户数据每月会生成一个表,每月大概会有30来万的数据量,且只会需要按照工作编号进行搜索,工作编号字段类型是char(7) ,每个工作编号搜索的话都会有30来条的数据
以前没用过索引,就是select,用户感觉有些慢,让加快搜索速度,
我看网上资料sql2000里给一个表表创建索引的语句是:
CREATE INDEX [IX_gz201412] ON [dbo].[gz201412]([gz_bh]) ON [PRIMARY]
难道创建一个月份的数据时,加上这条语句,以后再搜索就快了???
是这样吗???
------解决思路----------------------
如果 是主键字段作为where 子句的查询条件的话,就无需再加索引,因为主键有附带索引,如果是非主键字段,在业务中又经常需要用到,可以如你语句所述,非聚集索引虽不直接决定数据的物理排序,但仍对提高查询效率有帮助。有数据的话的测试下便知!
也可以crtrl+l看看执行计划!
------解决思路----------------------
没错,索引是常驻内存的。有索引就是用内存搜,然后取30条数据。没索引就是读30万条数据,逐个判断后返回其中的30条。硬盘IO的效率差好多。
又:一年才不过400万,分什么表啊。