風雲論壇后台开发 → 浏览:帖子主题
* 帖子主题:从access 转 MSSQL后,哪些改动可以增加打开速度和负载性能?
tian (ID: 45)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 1 楼 ] 回复
之前一直使用ASP+ACCESS数据库,但是ACCESS达到100M后,速度真的很慢。
只能改成ASP+MSSQL数据库了。

我只是简单的把ACCESS转MSSQL,请问风云,
1、优化哪些可以提高速度和性能。
2、对MSSQL不太懂,索引怎么加的?
2023/11/25 21:44:38 IP:已设置保密
tian (ID: 45)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 2 楼 ] 回复
ASP+MSSQL2005
2023/11/25 21:45:15 IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 3 楼 ] 回复
MS SQL的性能本身就比 Access 要好。建索引可以用 SQL 语句:
create index indexName on tableName(colName desc)
也可以用工具添加:
屏幕截图 2023-11-25 215859.jpg
2023/11/25 21:53:13 IP:已设置保密
tian (ID: 45)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 4 楼 ] 回复
数据库名: data
表:biao_1
字段: 
id      (自动编号)
group  (分类)
title    (标题)
contents (内容)
time      (时间)
userid    (所属用户)
delete    (是否回收站)
tag      (标签)
top      (是否置顶)

建索引可以用 SQL 语句,如上面例子,请教风云应该怎么写?
建立好索引后,ASP文件里需要改动语句调用吗?


2023/11/25 22:08:42 IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 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)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 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)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 7 楼 ] 回复
是的,否则会冲突,一般是 idx_tableName_colName
2023/11/25 22:25:50 IP:已设置保密
tian (ID: 45)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 8 楼 ] 回复
谢谢,我懂了。学到了,感谢风云。
2023/11/25 22:29:23 IP:已设置保密
tian (ID: 45)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 9 楼 ] 回复
631.png


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)
头衔:论坛版主
等级:天使
积分:1373
发帖:60
来自:保密
注册:2022/3/30 15:28:53
造访:2024/5/3 6:15:31
[ 第 10 楼 ] 回复
1、用SQL 创建索引和设计器创建的索引是一样的。
2、看是如何迁移。通常如果是全库备份后导入到新机器,是不需要再创建一次索引的。你可以用设计器检查索引是否存在。
2023/11/27 8:35:44 IP:已设置保密
tian (ID: 45)
等级:精灵
积分:122
发帖:6
来自:保密
注册:2023/11/24 9:14:32
造访:2024/2/17 9:58:19
[ 第 11 楼 ] 回复
谢谢风云,明白了。
2023/11/27 9:23:31 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册? 密码:
评论内容