存储过程运行超慢怎么回事啊?

问题描述

存储过程运行超慢,怎么回事,什么原因

解决方案

解决方案二:
如果不是存储过程中的操作本身有问题,比如死循环了什么的,那就试用别的方法调用一下,看是不是一样慢.存储过程的运行应该是比较快的.
解决方案三:
贴出来代码,
解决方案四:
存储过程里语句可能有问题,也可能查询的数据量比较大一般情况下应该前者看不到你的存储过程也不好说
解决方案五:
数据表没加索引时用时6秒,加了索引后用时3秒,还能改进吗,哪里改进
解决方案六:
改进索引!!!
解决方案七:
怎么改进,现在查询条件里最多的就是日期和线路字段,现在在表中把这两个都设为索引了,怎么改?
解决方案八:
聚集索引加在这两个字段上面了,如果是的话那就考虑查询条件和数据库结构咯
解决方案九:
贴出来存储过程
解决方案十:
楼主应该把过程帖出来
解决方案十一:
你用SQL自带的一个工具跟踪一下,看看是哪里占用资源比较大,然后索引优化.再不行就看看你的语句是不是不够精简.
解决方案十二:
查询分析器去看一下执行计划
解决方案十三:
如果数据量很大的话,首先要确定一下,影响性能的主要瓶颈到底是什么才好下结论.
解决方案十四:
引用3楼Magic_YJL的回复:

存储过程里语句可能有问题,也可能查询的数据量比较大一般情况下应该前者看不到你的存储过程也不好说

主要是代码逻辑有问题

时间: 2024-10-13 14:21:26

存储过程运行超慢怎么回事啊?的相关文章

mysql 存储过程运行成功,但是call procedure 的时候却报错

问题描述 mysql 存储过程运行成功,但是call procedure 的时候却报错 BEGIN DECLARE i INT; SET i = 18672700000; WHILE i < num DO INSERT INTO userinfo ( Uid, Utype, Tmac, ACname, SSID, UTip, UTtype, ULtime, UOtime, POname, Portal, Appid ) VALUES ( i, '普通用户', '0C-37-DC-804', '0

c++基础-编译成功,运行出错,怎么回事? 帮帮忙呀

问题描述 编译成功,运行出错,怎么回事? 帮帮忙呀 我是初学者,编了好久,希望有人看看 ,帮帮忙咯! #include #include #include using namespace std; typedef struct { string time; //缺课日期 string order; //缺课节数 string status[3]; //缺课课程,姓名,缺课类型 }situation; //顺序表的定义 #define MAXSIZE 1000 typedef struct { s

电脑越用运行越慢怎么回事?

软件原因: 解决方法: 1. 如果电脑安装多个杀毒软件,请您仅保留一个测试,因为杀毒软件可能会有产品冲突. 2. 检查CPU利用率是否占用过高,如占用过高,尝试结束占用过高的进程程序.如电脑感染病毒,也会导致部分进程占用率过高,建议您可以尝试升级病毒库到最新版本后,杀毒测试,排除病毒问题导致. 3. 尝试调整虚拟内存. 4. 通过第三方等软件携带的垃圾文件清理工具进行清理,也可以通过Windows自带功能进行清理,如 "磁盘清理"功能和"磁盘碎片整理"功能进行优化.

查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究

原文:查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究 -理解性能疑点 1      引言 内容来自http://www.sommarskog.se/query-plan-mysteries.html(Slow in the Application, Fast in SSMS?) [看国内没有人好好翻译过这篇.全部翻译实在太长了,就挑主要的意译了.如果要看完整版,还是建议读原文.先翻译了一半,先解决了眼前的问题.剩下的一般

Java数据库程序中的存储过程设计

程序|存储过程|设计|数据|数据库 本文阐述了怎么使用DBMS存储过程.阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历. 存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果

Java程序员的存储过程

程序|程序员|存储过程 本文阐述了怎么使用DBMS存储过程.我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历. 存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果. 使用存

Java 调用存储过程

存储过程 本文阐述了怎么使用DBMS存储过程.我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历. 存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接(如果有)返回结果. 使用存储过程拥有和使

内嵌或嵌入SQL和存储过程之对比

存储过程 问:为什么我的内嵌SQL或嵌入SQL 要比我的存储过程运行的快? 答:重编译可能是存储过程运行比较慢的原因.要确认这一点,您需要做一些性能测试,例如:看一下每种类型的查询和调用存储过程的"showplan"情况,并比较查询计划的高速缓存命中率和高速缓存缺失率.您还可以试着在存储过程内部为引用表.视图和过程写出对象拥有者.如下面例子所示: SELECT * FROM dbo.mytable 这样有助于您重新使用计划并防止高速缓存缺失.

sybase的存储过程

存储过程是存储在服务器端的一类数据库对象,它实质上是一段用SQL语言编写的程序,它在服务器端预先经过编译,并确定出执行计划,因此与同样功能的批处理语句相比,它的执行速度较快. 基本语法: Create Procedure[owner.]过程名 [@参数名 数据类型[=默认值][Output]] [,@参数名 数据类型[=默认值][Output]] [--] AS Begin SQL语句(块) End 存储过程是数据库对象,和表.索引是一个级别的:是SQL语句和控制流语言的集合,存储过程在首次运行