做了一段时间的性能测试,把自己在性能测试过程中,使用到的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. java 删除文件夹 / 删除某文件夹下的所有文件

    import java.io.File; /*************************删除文件夹delFolder / 删除文件夹中的所有文件delAllFile *start******** ...

  2. GNS3连接虚拟机

      打开GNS3,拖一台路由器和主机   右击主机,选择配置   添加虚拟机的网卡为主机网卡,(选择VM1或VM8)   路由器选择虚拟机网卡连接   打开虚拟机在导航栏找到“虚拟机”-->“设 ...

  3. js取得前2位字符

    <label id="ab">0</label> <script language="javascript"> url=&q ...

  4. DRF之解析器组件及序列化组件

    知识点复习回顾一:三元运算 三元运算能够简化我们的代码,  请看如下代码: # 定义两个变量 a = 1 b = 2 # 判断a的真假值,如果为True,则将判断表达式的前面的值赋给c,否则将判断表达 ...

  5. Axure RP的基础使用

    Axure RP是一个专业的快速原型设计工具. 在上面可以直接设计软件的原型而且不涉及代码,例如设计软件的流程和界面之类的.简单的说,就是可以在上面编写界面,让人看起来像一个完整的软件一样. 设置完成 ...

  6. leetcode728

    vector<int> selfDividingNumbers(int left, int right) { vector<int> V; for (int i = left; ...

  7. hive自带的字符串函数

    1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abcedfg') f ...

  8. 让IE10等支持classList2.0

    chrome24+, firesfox26+起支持classList2.0,即让它同时添加或删除多个类名, toggle方法支持第2个参数,用于强制添加或删除 var div = document.c ...

  9. Ubuntu 17.04 允许使用root ssh登录

    用ubuntu 17.04部署完docker后,用winscp去管理系统上的文件发现默认的管理员账号权限不够,想重新用root登录,发现一只被服务器拒绝(permission denied).已经执行 ...

  10. Hadoop之MapReduce(二)序列化,排序及分区

    MapReduce的序列化 序列化(Serialization)是指把结构化对象转化为字节流. 反序列化(Deserialization)是序列化的逆过程.把字节流转为结构化对象. 当要在进程间传递对 ...