为什么sqlserver如此之慢

ldy9929 2008-04-02 06:22:46
测试环境
asp和ado连接数据库
同样的库,同样的表,同样的主键,同样的数据类型和宽度
表t,字段为
billid, wareid ,num ,price, memos
表有数据1,000,000行

sql=select * from t where wareId='00001'
返回数据200行
sql server 2000 耗时 250~300毫秒
sql server 2005 耗时 250~300毫秒
access耗时 0~16毫秒

sql="SELECT * from t where wareId in('00001','00002','00003')"
返回数据600行
sql server 2000 耗时 780~800毫秒
sql server 2005 耗时 750~800毫秒
access耗时 48~54毫秒

sql=select * from t
返回数据1,000,000行
sql server 2000 耗时 41~50秒
sql server 2005 耗时 40~45秒
access耗时 1秒


...全文
164 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
sql对数据库还要进行安全空值之类的,建议简历索引
wangxuelid 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 ldy9929 的帖子:]
测试环境
asp和ado连接数据库
同样的库,同样的表,同样的主键,同样的数据类型和宽度
表t,字段为
billid, wareid ,num ,price, memos
表有数据1,000,000行

sql=select * from t where wareId='00001'
返回数据200行
sql server 2000 耗时 250~300毫秒
sql server 2005 耗时 250~300毫秒
access耗时 0~16毫秒

sql="SELECT * from t where wareId in('00001','00002','00003')"
返回数据600行
sql ser…
[/Quote]
楼主有心,做这样的测试,就数据库而言,ACCESS肯定没有在大数据库的情况如SQL,这个不用怀疑,要不怎么选择做项目都选择SQL,而不选择ACCESS,看你是否在连接上面出现延时设顶,,,
jxwangjm 2008-04-02
  • 打赏
  • 举报
回复
Mark一下
ldy9929 2008-04-02
  • 打赏
  • 举报
回复
所有测试条件全部一样
kaikai_kk 2008-04-02
  • 打赏
  • 举报
回复
这个很难说,看SQL语句怎么用了!
老紫竹 2008-04-02
  • 打赏
  • 举报
回复
1 wareId 做索引了吗?
2 in 操作非常耗时间的!
3 全表检索当然最耗时间了
ldy9929 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 WANGXUELLD 的回复:]
引用楼主 ldy9929 的帖子:
测试环境
asp和ado连接数据库
同样的库,同样的表,同样的主键,同样的数据类型和宽度
表t,字段为
billid, wareid ,num ,price, memos
表有数据1,000,000行

sql=select * from t where wareId='00001'
返回数据200行
sql server 2000 耗时 250~300毫秒
sql server 2005 耗时 250~300毫秒
access耗时 0~16毫秒

sql="SELECT * from t where wareId in('00001','00002…
[/Quote]
在小数据量情况下access比sqlserver快这个是地球人都知道的事实吧
在大数据量情况下access比sqlserver快不快测试过才知道吧
怎么选择做项目都选择SQL,而不选择ACCESS这个问题就很复杂了
如果光从速度上来说,ACCESS绝对是快的吧
只不过,sqlserver这个慢也慢的有点离谱了吧

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧