社区
ASP
帖子详情
40万数据的SQL查询,怎么优化select * from table,不优化要执行10秒啊
yc406740872
2010-12-03 10:39:36
40万数据的SQL查询,怎么优化select * from table,不优化要执行10秒啊,,我是查询全部字段,所以必须seelct * ,这样一来,页面要执行10秒才能被执行完,,怎么进行优化啊??
还有,就是 rs.recordcount ,查询总记录数,也要执行5秒,我在本地测试的,传上服务器,执行时间会更长,请问有什么方法解决吗??
...全文
1696
19
打赏
收藏
40万数据的SQL查询,怎么优化select * from table,不优化要执行10秒啊
40万数据的SQL查询,怎么优化select * from table,不优化要执行10秒啊,,我是查询全部字段,所以必须seelct * ,这样一来,页面要执行10秒才能被执行完,,怎么进行优化啊?? 还有,就是 rs.recordcount ,查询总记录数,也要执行5秒,我在本地测试的,传上服务器,执行时间会更长,请问有什么方法解决吗??
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liulei0102
2010-12-14
打赏
举报
回复
谁让你用“*”通配符的呢!你查啥写啥不就省事多了!
lenqen
2010-12-14
打赏
举报
回复
可能是游标问题,我通常用Forward Only,虽然这样不能用RECORDCOUNT属性,但效率高很多。
至于RECORDCOUNT属性,可以用MOVE NEXT加一个计数器实现。
Nichel168
2010-12-14
打赏
举报
回复
select * 这样写很费资源的。还是要需要查询的字段列出来。
测试后执行速度就要稍好些。
还有查询记录数的时候,重新写个sql查询,你看那种方式更快。
chinank
2010-12-08
打赏
举报
回复
1
楼主的问题是个伪命题
你40万数据取出来干嘛,你想全部在一个页面显示吗?
多数电脑的IE会被你这40万数据搞死的
你只需要取出你自己想要的数据就可以了,where后面字段,一定要加index
至于count,不要用recordcout,要用
selcect count(1) from xxx 这样用,count(*)会慢一点
取的时候,只取rs(0)就知道是多少了
=====================================================
楼上说的很准确, 另外我补充一点,
select * ……,这样也浪费资源, 只读取你有用的字段即可,
索引+存储过程+ sql语句优化 缺一不可。
小丫头
2010-12-08
打赏
举报
回复
用存储过程呗
youngsheep
2010-12-06
打赏
举报
回复
楼主的问题是个伪命题
你40万数据取出来干嘛,你想全部在一个页面显示吗?
多数电脑的IE会被你这40万数据搞死的
你只需要取出你自己想要的数据就可以了,where后面字段,一定要加index
至于count,不要用recordcout,要用
selcect count(1) from xxx 这样用,count(*)会慢一点
取的时候,只取rs(0)就知道是多少了
gentle_sword
2010-12-04
打赏
举报
回复
用ms sql加存储过程
一把编程的菜刀
2010-12-04
打赏
举报
回复
goodsname 肯定要建立索引 like本身就快不了多少
xd521
2010-12-04
打赏
举报
回复
select * from tb_goods where goodsname like '%1%'
你说你要取所有列的数据集,那你用的*,没有问题
如果你要进行模糊查询,那你用%%,也没有问题
没法优化了
这样的需求,存储过程也无济于事,
我理解你的需求就是:在40万条数据中找“商品编码”列任意部分包含“1”的数据
yc406740872
2010-12-04
打赏
举报
回复
我的是个库存系统,ASP+SQLSERVER。。。商品都存在一个tb_goods表里面,大约30-40万吧。。我做的搜索,就是很简单的搜索 goodsname(商品编码)字段,当然ID是主键索引,我要查goodsname字段,是不是将goodsname字段建立非聚集索引??楼上说不用like,那用什么查询语句呢??
我用传统的like查询,要执行10多秒呀。。请大家帮帮忙。
就以这段SQL语句进行索引的修改(*我是要查所有字段):select * from tb_goods where goodsname like '%%'
namesliu
2010-12-04
打赏
举报
回复
晕。。。。不能,为什么 不加 where
Ygb_Prince
2010-12-04
打赏
举报
回复
我想你是用asp边sqlserver吧?
1,清理好数据表的沉余字段,可以建立字表作为关联,记得为关键字段(需要作为条件的字段都可以设置为字段,不要太多要合理)添加索引;
2,获取数据的数目,可以用select count(id) from table 以id作为索引;
3,合理的化分页
zming
2010-12-04
打赏
举报
回复
where xxx like '%xxx%' 这种用法不使用索引,建立索引也没用的。
只有
where xxx like 'xxx%' 才会使用到索引
xmrxw
2010-12-04
打赏
举报
回复
你可以找一下通用存储过程代码,百万级别的数据!
kkbac
2010-12-04
打赏
举报
回复
like语句本来就慢, 需要的字段上建议索引啊.
phuai007
2010-12-04
打赏
举报
回复
40万数据,最好是加存储过程了。
huangli21
2010-12-04
打赏
举报
回复
存储过程 必须的
hookee
2010-12-03
打赏
举报
回复
为何要 rs.recordcount 取总数? 该不会要把所有数据都读出来?一般都会加WHERE条件的
id如果建立过索引的话,可以用 SELECT COUNT(*) 取总数.
要查询的字段加索引, 尽量避免用LIKE '%xx%'类型的查询
xuStanly
2010-12-03
打赏
举报
回复
什么数据库呀?40万数据都扛不住?
数据
库
40
万
数据
查询12
秒
效率怎么样
12
秒
查询
40
万
数据
是否正常?若为全表扫描:在HDD上可能属于正常范围上限,但在SSD上明显偏慢,需
优化
IO或索引。若命中索引:12
秒
属于严重性能问题,必须排查索引失效、硬件瓶颈或SQL语句问题。下一步行动通过
执行
计划确认是否使用索引。检查硬件IO负载(如磁盘利用率、吞吐量)。逐步
优化
SQL语句、索引和
数据
库配置,直至耗时降至可接受范围(通常建议简单查询控制在1
秒
内,复杂查询控制在5
秒
内)。
来自灵魂的拷问——知道什么是SQL
执行
计划吗?
面试官说:工作这么久了,应该知道sql
执行
计划吧,讲讲Sql的
执行
计划吧! 看了看面试官手臂上纹的大花臂和一串看不懂的韩文,吞了吞口水,暗示自己镇定点,整理了一下思绪缓缓的对面试官说:我不会 面试官:。。。。,回去等通知吧 我:%^&%$!@# 一、前言 当我们工作到了一定的年限之后,一些应该掌握的知识点,我们是必须需要去了解的,比如今天面试官问的SQL
执行
计划 当我们
执行
一条SQL的时候,可以直接对应的结果,但是你并不晓得,它会经历多深远黑暗的隧道,通过连接器、查询缓存、分析器、
优化
器、
执行
器重.
五个简单的 SQL 查询性能测试题,只有
40
% 及格率。你敢来挑战吗?
五个简单的 SQL 查询性能测试题,只有
40
% 及格率。你敢来挑战吗?
从
40
秒
到11毫
秒
:TiDB环境下一次SQL深潜
优化
实战
这次从
40
多
秒
到11毫
秒
的
优化
之旅,充满了抽丝剥茧的分析和柳暗花明的尝试,带给我们几点深刻的启示:是你的导航仪:没有它,我们就像在黑暗中航行。它是诊断慢SQL、理解
优化
器行为、验证
优化
效果不可或缺的工具。务必学会阅读和理解它的输出。索引是基础,但并非
万
能:合理的索引是高性能的起点。但如此案例所示,当
SQL查询
结构本身对
优化
器不友好时,仅靠索引可能无法解决根本问题。警惕的陷阱:尤其当子查询返回较多行或与OR等复杂条件结合时,IN子查询有时会被
优化
器错误处理。考虑使用。
mysql中
select
from和
select
from_MySQL:
select
* from
table
和
select
* from(
select
* from
table
)之间的区别...
我很惊讶你报告没有子查询的查询花了这么长时间。我希望相反。你确定你观察到了吗?如果子查询足够简单,MySQL能够重写一些子查询,就像你显示的子查询一样。所以应该没有区别。我怀疑你真正询问的案例涉及更复杂的查询。当您使用子查询作为表时,MySQL可能需要创建一个临时表来存储子查询的结果,然后使用该临时表进行后续连接或搜索或排序。临时表为查询创建开销,因为它们需要存储。如果它们很小,临时表可能驻留在R...
ASP
28,402
社区成员
356,940
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章