实例一:
有一表,用来存放新闻和各种文章的表
表现层经常要出现的操作如下:
1.按文章不同的类别(字段classid) 在不同的板块进行检索;
2. 在表现层提供文章搜索服务, 可分别按关键字(keyword),标题(title),时间(news_time)检索
3. 在显示最终结果时一般按时间排序(news_time)
如何建立索引?
-----------------------
-SQL2008企业管理器创建复合索引:
打开索引/键选项卡,在列属性上指定多列
--创建索引的代码:
--classid 加索引
create index IX_classid_表 on 表(classid)
--keyword,title,news_time 加上复合索引,并各自再设置一个独立索引
create index IX_keyword_title_news_time_表 on 表(keyword,title,news_time)
create index IX_keyword_表 on 表(keyword,)
create index IX_title_表 on 表(title)
create index IX_news_time_表 on 表(news_time)
keyword ,title一般用 like 来查询
--** 这个用不上索引,一般将它放在所有条件的最后
classid一般是用= ,有时也会使用 in () 来控制
--** 这个可以利用上索引,将它放在所有的条件前面
如果是用in,则建议不要用,影响效率.
in可以这样改:
如:select * from 表 where classid in(1,2,3)
--可以改为:
select a.* from 表 a join(
select classid=1
union all select 2
union all select 3
)b on a.classid=b.classid