Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序

1. 应用场景 1

2. 随机抽取数据原理 1

3. 常用的实现方法:::数据库随机函数 1

4. Mssql 的实现 NEWID() 跟rand()  1

5. newid()与rand()的区别 2

6. NEWID() 2

7. 参考 2

1. 应用场景

并发测试

2. 随机抽取数据原理

原理是 循环所有的ID/记录,附加随机函数字段,然后排序as 这个字段..

3. 常用的实现方法:::数据库随机函数

作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com

转载请注明来源:http://blog.csdn.net/attilax

4. Mssql 的实现 NEWID() 跟rand()

SELECT TOP 10 *

FROM wechatuhstry

ORDER BY NEWID()

或者

select   top   10   *,newid()   as   Random   from   ywle where   ywlename='001'   ordey   by   Random

随机函数:rand()

在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会 取随机整数。那就看下面的两种随机取整数的方法:

应该使用newid 不是rand()..newid每row不一样....rand每次数不一样.

它返回一个GUID

5. newid()与rand()的区别

select top 3 id from  table order by newid()   这一条每运行一次,都产生新的一个随机的三行结果



而 select top 3 id from  table order by Rand()   运行后每一次的三条记录是一样的

Rand()函数在给定命令里所有行都返回相同的值

你可能不需要得到这样的结果,则可以给rand()函数提供一个种子值。在下面的代码中,我们在Rand()函数中给定每一行的productid作为种子值。

6. NEWID()

4650D5AA-E8FE-4721-83E7-EA12C4F7A473

它返回一个GUID

newdi()创建 uniqueidentifier 类型的唯一值,类似这样的样式 6F9619FF-8B86-D011-B42D-00C04FC964FF

由于select每当扫描得到一条记录时候均调用该函数,这样产生每条结果记录的各不相同值,如果按照此值排序,就类似于产生了随机记录的效果

7. 参考

数据库查询排序使用随机排序结果示例(Oracle_MySQL_MS SQL Server)_oracle_脚本之家.htm

SQL NEWID()随机函数 - 兰松的日志 - 网易博客.htm

sql server的随机函数newID()和RAND() - 无意 - 博客园.htm

SQL随机函数NEWID()和RAND() - xiao_mege的日志 - 网易博客.htm

newid()与rand()的区别小谈 - 远方 - 博客园.htm

Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现的更多相关文章

  1. asp获取access数据库中的一条随机记录

    针对“用一条SQL得到数据库中的随机记录集”问题在网上已经有很多答案了: SQL Server 2000: SELECT TOP n * FROM tanblename ORDER BY NEWID( ...

  2. 随机获取oracle数据库中的任意一行数据(rownum)

    最近看oracle资料的时候,了解rownum的概念,以前只知道对数据库表进行简单的增删改查: 看到了rownum的概念后,突然想到了好多业务场景应该都可以适用的,比如在进行随机发奖的时候, 我们就可 ...

  3. C# 数据库并发的解决方案(通用版、EF版)

    自ASP.NET诞生以来,微软提供了不少控制并发的方法,在了解这些控制并发的方法前,我们先来简单介绍下并发! 并发:同一时间或者同一时刻多个访问者同时访问某一更新操作时,会产生并发! 针对并发的处理, ...

  4. jmeter-登录获取cookie后参数化,或手动添加cookie, 再进行并发测试

    以下情况其实并不适用于直接登录可以获取cookie情况,直接可以登录成功,直接添加cookie管理,cookie可以直接使用用于以下请求操作. 如果登录一次后,后续许多操作,可以将cookie管理器放 ...

  5. PHP如何实现在数据库随机获取几条记录

    本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法.PHP实例分享给大家供大家参考,具体如下: 为什么要写这个? 在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法 ...

  6. Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview

    Atitit 知识图谱解决方案:提供完整知识体系架构的搜索与知识结果overview   知识图谱的表示和在搜索中的展1 提升Google搜索效果3 1.找到最想要的信息.3 2.提供最全面的摘要.4 ...

  7. 高并发简单解决方案————redis队列缓存+mysql 批量入库(ThinkPhP)

    问题分析 问题一:要求日志最好入库:但是,直接入库mysql确实扛不住,批量入库没有问题,done.[批量入库和直接入库性能差异] 问题二:批量入库就需要有高并发的消息队列,决定采用redis lis ...

  8. 转载:【高并发简单解决方案 | 靠谱崔小拽 】redis队列缓存 + mysql 批量入库 + php离线整合

    需求背景:有个调用统计日志存储和统计需求,要求存储到mysql中:存储数据高峰能达到日均千万,瓶颈在于直接入库并发太高,可能会把mysql干垮. 问题分析 思考:应用网站架构的衍化过程中,应用最新的框 ...

  9. 【高并发简单解决方案】redis队列缓存 + mysql 批量入库 + php离线整合

    需求背景:有个调用统计日志存储和统计需求,要求存储到mysql中:存储数据高峰能达到日均千万,瓶颈在于直接入库并发太高,可能会把mysql干垮. 问题分析 思考:应用网站架构的衍化过程中,应用最新的框 ...

随机推荐

  1. 国内外著名B2C系统介绍兼比较ASP.NET和PHP

    国内外著名B2C系统介绍兼比较ASP.NET和PHP   2010-06-08 11:44  来源:  我来投稿  我要评论    中介交易 SEO诊断淘宝客 站长团购 云主机 A5外包  国内外著名 ...

  2. 算法与数据结构实验题 5.2 Missile

    1.题目: 2.解题思路: 把每个点对应的两条半径求出,之后对d1进行升序排序,对应d2也改变位置.其中一个圆心的半径r1确定之后,除去第一个圆包围的点,在其余点中找到另外一个圆的最长的半径r2,此时 ...

  3. 设置h5页面不可复制文字

    * { moz-user-select: -moz-none; -moz-user-select: none; -o-user-select: none; -khtml-user-select: no ...

  4. frame和bounds的区别与联系

    首先先看一下下面两个属性的代码实现: -(CGRect)frame{ return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.fr ...

  5. ps命令介绍

    ps是收集进程信息的重要工具.它提供的信息包括:拥有进程的用户.进程的起始时间.进程所对应的命令行路径.进程ID(PID).进程所属的终端(TTY).进程使用的内存.进程占用的CPU等.例如: $ p ...

  6. js中实现字母大小写转换

    js中实现字母大小写转换主要用到了四个js函数: 1.toLocaleUpperCase  2.toUpperCase3.toLocaleLowerCase4.toLowerCase 下面就这四个实现 ...

  7. ABP的Zero Sample

    下载自:https://github.com/aspnetboilerplate/module-zero 打开D:\ABP\module-zero-master\sample里的ModuleZeroS ...

  8. XE3随笔7:可以省略的双引号

    在 JSON 中, 字符串应该在双引号中; 从上个例子才发现: 原来这个双引号可以省略, 有空格都行 当然只是在程序代码中可以省略, 对象会自动识别添加的. 即如此, 下面写法都可以: uses Su ...

  9. Linux下apache日志分析与状态查看方法

    假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] “GET /Public/Css/index.css HTTP/1.1″ 30 ...

  10. 浅谈Android 6.0之Runtime Permissions

    前言 Android6.0发布后,其一系列新特新足够让我们这些Android程序员兴奋一段时间了.首先我们先看看具体有哪些新特性: -锁频下语音搜索 -指纹识别 -更完整的应用权限管理 -Doze电量 ...