有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , sja.start_execution_date,DATEDIFF (SECOND ,sja.start_execution_date,GETDATE() ) AS ExecutedMin,ja.AvgRuntimeOnSucceed FROM msdb.dbo.sysjobactivity AS…
业务系统中常常会有排名的需求,考试和比赛中则更普遍了.Excel 中也有个 Rank 函数供排名之用,数据库中更不例外了. 如果须要找出工资最高的前三个员工工资(及其员工号). 只是."前三名"的详细含义须要准确的定义.不然查出来的可能不是想要的结果. 首先.由于表中记录数可能就少于三,查出来的记录可能等于三条也可能少于三条.其次,须要考虑并列名次的处理. 假设名次不能并列,则还须要考虑是否要依据工资之外的列来区分排名. 比如: 名次 ID 工资 ------------- 1 80…
本文是受网文 <一次非常有意思的SQL优化经历:从30248.271s到0.001s>启发而产生的. 网文没讲创建表的数据过程,我帮他给出. 创建科目表及数据: CREATE TABLE tb_course ( id NUMBER not null primary key, name NVARCHAR2(10) not null ) Insert into tb_course select rownum,dbms_random.string('*',dbms_random.value(6,10…
1.java方式 String table_sql = "select table_name from user_tables";//所有用户表 List<String> table_list = getSession().createSQLQuery(table_sql).list(); for (int index = 0; index < table_list.size(); index++) { String tab = table_list.get(inde…
循环: loop --执行代码 exit when 表达式;--当表达式为真退出循环.(注意,其编写位置决定循环为先判断还是先执行,相当于java的while或do-while) end loop; 相当于Java的 while(true) { --执行代码 if (表达式) break; } while 表达式 loop --执行代码 end loop; 和Java的while使用方式相同.通过它可实现java中for循环的功能 while n<10 loop --执行代码 n:=n+1; e…
SELECT columnName from dbo.tableName group by columnName having count(*)>1…
--1.不包含字母 SELECT * FROM t WHERE str NOT LIKE '%[a-zA-Z]%' SELECT * FROM t --2.不包含汉字 SELECT * FROM t WHERE str NOT LIKE '%[吖-座]%' SELECT * FROM t…
博主(编码砖家)负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟.导出日志后分析,主要原因竟然是没有命中索引和没有分页处理 . 其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊.改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正. MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓 .MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制. <阿里巴巴Java开发手册>提出单表行…
在SQL Server中,如何找到一张表或某个索引拥有那些页面(page)呢? 有时候,我们在分析和研究(例如,死锁分析)的时候还真有这样的需求,那么如何做呢? SQL Server 2012提供了一个无文档的DMF(sys.dm_db_database_page_allocations)可以实现我们的需求,sys.dm_db_database_page_allocations有下面几个参数: ·         @DatabaseId:    数据库的ID,可以用DB_ID()函数获取某个数据…
--期盼值 找出AA,3;PDST,3;QPL-,3;TP-,2; --基本表 create table tb_product( id number(9,0) primary key, name nvarchar2(20) not null); --基本表充值 insert into tb_product(id,name) values('','AA'); insert into tb_product(id,name) values('','AA款'); insert into tb_produ…