Title 标题表
Title_ID int 4 标题编号 唯一 主键 自动加一
City_ID INT 4 城市编号
City_Name nvarchar 20 城市名称
Title nvarchar 200 标题
Categories_ID int 4 分类编号
Navigation_ID int 4 导航编号
Navigation_Name nvarchar 20 导航名称
Categories_Name nvarchar 20 分类名称
Str_Day tatetime 8 发布日期
Title_Top bit bit 置顶
数据如下:
1 100 北京 测试 1 1 日期 1
2 100 北京 测试 1 2 日期 0
3 200 上海 测试 2 1 日期 1
4 100 北京 测试 2 2 日期 1
5 100 北京 测试 1 2 日期 1
6 200 上海 测试 3 1 日期 0
7 100 北京 测试 4 1 日期 1
8 200 上海 测试 3 1 日期 0 数据表如上。我的开发平台是ASP.NET,因为在查询中将 根据导航编号查询所有符合条件的标题记录。按分类编号查符合的标题记录。其中导航编号和分类编号都是 <10的;城市编号为350种;不同的页面用不同的查询。100W左右的数据量。我用了分页存储过程。速度不是很理想。没用索引。
请高手指点下。我该怎么用索引?用索引快吗?
Title_ID int 4 标题编号 唯一 主键 自动加一
City_ID INT 4 城市编号
City_Name nvarchar 20 城市名称
Title nvarchar 200 标题
Categories_ID int 4 分类编号
Navigation_ID int 4 导航编号
Navigation_Name nvarchar 20 导航名称
Categories_Name nvarchar 20 分类名称
Str_Day tatetime 8 发布日期
Title_Top bit bit 置顶
数据如下:
1 100 北京 测试 1 1 日期 1
2 100 北京 测试 1 2 日期 0
3 200 上海 测试 2 1 日期 1
4 100 北京 测试 2 2 日期 1
5 100 北京 测试 1 2 日期 1
6 200 上海 测试 3 1 日期 0
7 100 北京 测试 4 1 日期 1
8 200 上海 测试 3 1 日期 0 数据表如上。我的开发平台是ASP.NET,因为在查询中将 根据导航编号查询所有符合条件的标题记录。按分类编号查符合的标题记录。其中导航编号和分类编号都是 <10的;城市编号为350种;不同的页面用不同的查询。100W左右的数据量。我用了分页存储过程。速度不是很理想。没用索引。
请高手指点下。我该怎么用索引?用索引快吗?
Title_ID int 4 标题编号 唯一 主键 自动加一
City_ID INT 4 城市编号
City_Name nvarchar 20 城市名称
Title nvarchar 200 标题
Categories_ID int 4 分类编号
Navigation_ID int 4 导航编号
Categories_Name nvarchar 20 分类名称
Navigation_Name nvarchar 20 导航名称
Str_Day tatetime 8 发布日期
Title_Top bit bit 置顶 1 100 北京 测试 1 1 名称1 名称1 日期 1
2 100 北京 测试 1 2 名称1 名称2 日期 0
3 200 上海 测试 2 1 名称2 名称1 日期 1
4 100 北京 测试 2 2 名称2 名称2 日期 1
5 100 北京 测试 1 2 名称1 名称2 日期 1
6 200 上海 测试 3 1 名称3 名称1 日期 0
7 100 北京 测试 4 1 名称4 名称1 日期 1
8 200 上海 测试 3 1 名称3 名称1 日期 0
select Title_ID from Title where City_Name='北京' and Categories_ID=1 and Str_Day<='2009-12-02'
2\
select Title_ID from Title where City_Name='北京' and Navigation_ID=1 and Str_Day<='2009-12-02'
3\
select Title_ID from Title where City_Name='北京' and Str_Day<='2009-12-02'
类似这样的简单查询。但要用好多次。该建哪个字段为索引?建成什么类型的索引?
Title_ID int 4 标题编号 唯一 主键 自动加一
City_ID INT 4 城市编号
City_Name nvarchar 20 城市名称
Title nvarchar 200 标题
Categories_ID int 4 分类编号
Navigation_ID int 4 导航编号
Categories_Name nvarchar 20 分类名称
Navigation_Name nvarchar 20 导航名称
Str_Day tatetime 8 发布日期
Title_Top bit bit 置顶
————————————————————
类似如下数据
1 100 北京 测试 1 1 名称1 名称1 日期 1
2 100 北京 测试 1 2 名称1 名称2 日期 0
3 200 上海 测试 2 1 名称2 名称1 日期 1
4 100 北京 测试 2 2 名称2 名称2 日期 1
5 100 北京 测试 1 2 名称1 名称2 日期 1
6 200 上海 测试 3 1 名称3 名称1 日期 0
7 100 北京 测试 4 1 名称4 名称1 日期 1
8 200 上海 测试 3 1 名称3 名称1 日期 0
————————————————————
类似查询如下:
1\
select Title_ID from Title where City_Name='北京' and Categories_ID=1 and Str_Day <='2009-12-02'
2\
select Title_ID from Title where City_Name='北京' and Navigation_ID=1 and Str_Day <='2009-12-02'
3\
select Title_ID from Title where City_Name='北京' and Str_Day <='2009-12-02'
——————————————————————
正常结果不用索引没问题。
————————————————————
问题是
在设计这个表时加索引?给那个字段加什么类型的索引?
支持
直接在查询中指定该索引就行?
City_Name Str_Day