当前位置:首页 » 编程语言 » sql触发器效率
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql触发器效率

发布时间: 2022-04-16 02:13:24

‘壹’ sql server 触发器效率低吗

触发器本身的效率,与它的实现逻辑有关,你如果把它实现得复杂,需要做很多处理,那效率就相应的下降。
从另外一方面讲,触发器会影响对原表的处理效率。

‘贰’ 关于SQL触发器,有的书上说尽量少的使用触发器,多用存储过程,是这样吗,希望给予解释

不一定,有时候在维护想关联表的一致性的时候用触发器比较方便,外界只要更新一个表就可以了,减少了复杂程度,而且不会出错。

‘叁’ SQL语句 怎样提高select语句的执行效率

需要提高效率,可以从以下考虑:
第一,建立搜索条件对应的索引
第二,尽量不要使用
select
*
,应该改成
select
列1,列2,...
第三,升级SQL版本,SQL2008比SQL2000的速度提高是很多的
第四,如果表有大容量的字段,如
图片,文档,应该考虑用FTP来做,不是把数据放在数据库

‘肆’ SQL里的触发器的优缺点它的存贮速度和执行速度如何

触发器的优点: 以事件方式来处理. 当数据发生变化的时候, 自动作处理.
缺点: 当数据库之间 导出导入的时候, 可能会引起不必要的触发逻辑.
存贮速度和执行速度: 代码是存储在服务器上, 执行速度主要取决于 数据库服务器的性能与触发器代码的复杂程度。

‘伍’ 如何查看sql执行效率

在点击某个按钮,执行完后,再执行下面语句,就可以知道系统运行什么Sql和多少次了,其主要慢语句是那些了;

--先清除sql server的缓存dbcc freeProcCache SELECT creation_time N'语句编译时间' ,last_execution_time N'上次执行时间' ,total_physical_reads N'物理读取总次数' ,total_logical_reads/execution_count N'每次逻辑读次数' ,total_logical_reads N'逻辑读取总次数' ,total_logical_writes N'逻辑写入总次数' ,execution_count N'执行次数' ,total_worker_time/1000 N'所用的CPU总时间ms' ,total_elapsed_time/1000 N'总花费时间ms' ,(total_elapsed_time / execution_count)/1000 N'平均时间ms' ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) + 1) N'执行语句'FROM sys.dm_exec_query_stats AS qsCROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) stwhere SUBSTRING(st.text, (qs.statement_start_offset/2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) + 1) not like '%fetch%'ORDER BY total_elapsed_time / execution_count DESC;

‘陆’ 如何查看一个SQL语句的执行效率情况

SQLServer2005-->新建一个查询-->输入语句SELECT * FROM Person.Contact

执行(F5)-->Ctrl+L

‘柒’ sql 中触发器是不是很重要

重要不重要是见仁见智。
触发器本就不是用来做复杂处理的,这点我也赞同。
我多数是用触发器来做些简单处理。本来放在sp里也是可以的,不过有的时候涉及的sp比较多,做成触发器比较容易实现。
总而言之,触发器是一个基本技术,掌握了有的时候可以简单地解决一些问题。不要看得太高深,要因地制宜合理使用。

‘捌’ sql server 为什么保存触发器速度很慢

排除数据库本身硬件软件问题的情况下,是不是代码冲突;或者就是逻辑写的太复杂

‘玖’ sql游标的性能比触发器好吗

游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中

触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的

性能上来说游标的效率更高