做了一段时间的性能测试,把自己在性能测试过程中,使用到的Oracle中用到的sql语句整理一番,做个备忘;

(1)多个字段以某种格式拼接

  Oracle方式:"||"字符串拼接符;

  示例:将“id”及“code”用逗号拼接: select t.id||','||t.code from OTable t;  

  MySQL方式:使用 concat()函数;

  示例:select concat(t.id,',',t.code) from MTable t;

(2)以某一个字段为维度统计数量

  Oracle方式:count + group by;

  示例:统计某个创建人对应的数据数量:select t.creatorname,count(1) from OTable t (此处省去where条件查询) group by t.creatorname;

(3)统计每秒生成的数据的数量,并按数量由大到小进行排序-----------结果常用于性能测试目标TPS确定的参考值;

  Oracle方式:count + group by + order by;(修改下面的sql中to_char的格式,可修改精确度为min或者hour)

  示例:select to_char(t.Createtime,'yyyy-mm-dd hh24:mi:ss'),COUNT(1) from OTable t where

to_char(t.Createtime,'yyyy-mm-dd hh24:mi:ss') >='2016-01-01 00:00:00' and

to_char(t.Createtime,'yyyy-mm-dd hh24:mi:ss') <='2016-12-31 23:59:59'

group by to_char(t.Createtime,'yyyy-mm-dd hh24:mi:ss')

order by count(1) desc;

  MySQL方式:DATE_FORMAT+ group by + order by;(修改DATE_FORMAT中的第二个参数,可修改精确度为min或者hour)

  示例:select DATE_FORMAT(start_time,'%Y%m%d %H%i%s') iSecond,count(id) as icount

from MTable t where t.start_time BETWEEN '2017-06-01 00:00:00' and '2017-06-01 23:59:59'

group by iSecond

order by icount desc;

(4)统计某张表两个时间的时间差

  MySQL方式:TIMESTAMPDIFF()函数,计算两个时间之间的差值,若第一个时间参数值晚于第二个时间参数值,则结果为负值;

  示例:SELECT t.START_TIME, t.FINISH_TIME,

TIMESTAMPDIFF(SECOND, t.START_TIME, t.FINISH_TIME) AS `iSecond`

from MTable t where t.start_time BETWEEN '2017-05-10 00:00:00' and '2017-06-30 23:59:59';

(5)拉取结果集前N行

  Oracel方式:rownum <= N;

  示例:update crm_issue t set t.OPERATORNUMBER = '****' where t.expresscode like '2017%' and  rownum<=300000

  MySQL方式:limit 0,N;

  示例:SELECT  * from erp_so_header h where  h.soSyncStatus = 'SUCCESS' order by h.code desc limit 0,1000

性能测试常用sql语句的更多相关文章

  1. 性能测试常用Oracle语句

    性能测试常用Oracle语句 显示数据库当前的连接数 select count(*) from v$process; 显示数据库最大连接数: select value from v$parameter ...

  2. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  3. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  4. 50个常用SQL语句

    50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表  S#学号,主键 Course(C#,Cname,T#) 课程表          C#课程号,主键 SC(S#, ...

  5. oracle sqlplus及常用sql语句

    常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...

  6. oracle常用SQL语句(汇总版)

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  7. 常用SQL语句(增删查改、合并统计、模糊搜索)

    转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...

  8. oracle 常用sql语句

    oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...

  9. Sqlite常用sql语句

    sqlite常用sql语句 --返回UTC时间 select CURRENT_TIMESTAMP; --返回本地时间 select datetime(CURRENT_TIMESTAMP,'localt ...

随机推荐

  1. Redhat 无线(Wifi)上网命令行配置

    小结两种命令行模式下配置无线wife的方法,实践测试通过(Red Hat Enterprise Linux release 6.0 Beta(Santiago)) 一.使用wpa_supplicant ...

  2. python学习——练习题(5)

    """ 题目:输入三个整数x,y,z,请把这三个数由小到大输出. """ def inputInt(i): ""&quo ...

  3. leetcode884

    class Solution { public: void SplitString(const string& s, vector<string>& v, const st ...

  4. 页面中CSS的四种引入方式的介绍与比较

    转自:https://blog.csdn.net/qq_38689666/article/details/79039392 一:行内式 <p style="color:red" ...

  5. SpringMVC总结一:快速入门

    MVC: MVC是一种架构模型,本身没有什么功能,只是让我们的项目结构更加合理,流程控制更加清晰,一般包含三个组件: ​ **Model(模型)**:数据模型,用于提供要展示的数据.一般包含数据和行为 ...

  6. day18-事务与连接池 2.事务介绍与mysql下事务操作

    这么玩 真的变了吗?把cmd窗口关闭了看看. 就是固定的套路才行:start transaction->执行SQL->rollback; 执行每一条SQL之前都要start transac ...

  7. 张超超OC基础回顾02_成员变量(属性),局部变量,全局变量的区别

    成员变量: 写在类声明的大括号中的变量, 我们称之为 成员变量(属性, 实例变量) 成员变量只能通过对象来访问 注意: 成员变量不能离开类, 离开类之后就不是成员变量 成员变量不能在定义的同时进行初始 ...

  8. Solidity字符串拼接实现oraclize动态查询

    solidity本身没有字符串拼接功能,但是如果你恰巧要用oraclize api,那么可以使用oraclize api中的字符串拼接方法(strConcat).之所以oraclize api里会有s ...

  9. Luogu 4951 [USACO 2001 OPEN]地震

    水个博客玩. $01$分数规划. 题目要求$\frac{F - \sum_{i = 1}^{n}C_i}{T_i}$最大,设$\frac{F - \sum_{i}C_i}{T_i} \geq e$,移 ...

  10. Linux下面rpm命令和mount命令详解

    在Linux下面我们经常会安装一些软件包,还有挂载命令.接下来,我们通过一些实例来演示这些命令的使用.. 第一步:我们先在linux下面挂载光盘,先进入到根目录,然后切换到根下面的/mnt目录,因为/ ...