tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 1 楼 ]
回复
之前一直使用ASP+ACCESS数据库,但是ACCESS达到100M后,速度真的很慢。
只能改成ASP+MSSQL数据库了。
我只是简单的把ACCESS转MSSQL,请问风云,
1、优化哪些可以提高速度和性能。
2、对MSSQL不太懂,索引怎么加的?
2023/11/25 21:44:38
IP:已设置保密
tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 2 楼 ]
回复
2023/11/25 21:45:15
IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1567
发帖:70 篇
来自:保密
注册:2022/3/30 15:28:53
造访:2024/11/22 10:43:44
[ 第 3 楼 ]
回复
MS SQL的性能本身就比 Access 要好。建索引可以用 SQL 语句:
create index indexName on tableName(colName desc)
也可以用工具添加:
2023/11/25 21:53:13
IP:已设置保密
tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 4 楼 ]
回复
数据库名: data
表:biao_1
字段:
id (自动编号)
group (分类)
title (标题)
contents (内容)
time (时间)
userid (所属用户)
delete (是否回收站)
tag (标签)
top (是否置顶)
建索引可以用 SQL 语句,如上面例子,请教风云应该怎么写?
建立好索引后,ASP文件里需要改动语句调用吗?
2023/11/25 22:08:42
IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1567
发帖:70 篇
来自:保密
注册:2022/3/30 15:28:53
造访:2024/11/22 10:43:44
[ 第 5 楼 ]
回复
主要看你常用哪些字段归集数据。
例如 group 应该是很常用的,
如果需要经常根据用户来列表数据的话,userid 也可以加索引
如果删除的数据比较多,只需要列出未删除的,delete 也可以加索引。
创建索引的语句就是:
create index idx_group on biao_1([group]);
create index idx_userid on biao_1(userid);
create index idx_delete on biao_1([delete])
索引创建后无需调整 asp 里面的查询语句,查询时会自动优化性能。
2023/11/25 22:19:04
IP:已设置保密
tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 6 楼 ]
回复
明白了,非常感谢,我就按照这个例子来处理。
create index idx_group on biao_1([group]);
create index idx_userid on biao_1(userid);
create index idx_delete on biao_1([delete])
如果有多个表,字段也一样,会重复吗?需要把前缀idx_改名吗
2023/11/25 22:24:36
IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1567
发帖:70 篇
来自:保密
注册:2022/3/30 15:28:53
造访:2024/11/22 10:43:44
[ 第 7 楼 ]
回复
是的,否则会冲突,一般是 idx_tableName_colName
2023/11/25 22:25:50
IP:已设置保密
tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 8 楼 ]
回复
2023/11/25 22:29:23
IP:已设置保密
tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 9 楼 ]
回复
create index idx_group on biao_1([group]);
create index idx_userid on biao_1(userid);
create index idx_delete on biao_1([delete])
请教风云
问题一:
以上3个字段创建索引后,表设计里面的需要开启索引吗,如上图表设计默认就成?
问题二
当创建了索引后,搬迁另一台机器后,还需要再创建索引吗
2023/11/27 8:29:56
IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1567
发帖:70 篇
来自:保密
注册:2022/3/30 15:28:53
造访:2024/11/22 10:43:44
[ 第 10 楼 ]
回复
1、用SQL 创建索引和设计器创建的索引是一样的。
2、看是如何迁移。通常如果是全库备份后导入到新机器,是不需要再创建一次索引的。你可以用设计器检查索引是否存在。
2023/11/27 8:35:44
IP:已设置保密
tian (ID: 45)
等级:精灵
积分:135
发帖:7 篇
来自:保密
注册:2023/11/24 9:14:32
造访:2024/9/24 9:23:41
[ 第 11 楼 ]
回复
2023/11/27 9:23:31
IP:已设置保密