一直想找个除了newid() 外高效取随机数的方法, 有点遗憾,木有找到,谁有除了newid()以外更高效的 请留言,谢谢

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid()
order by 一般是根据某一字段排序,newid()的返回值 是uniqueidentifier ,order by newid()随机选取记录是如何进行的
newid()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序. 所以最终结果再按这个排序, 排序的结果当然就是无序的了
或者
select   top   10   *,newid()   as   Random   from   ywle where   ywlename='001'   ordey   by   Random
下者效率要高些
因为newid()返回的是uniqueidentifier类型的唯一值。newid()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果 也是不一样的。
原理是 把所有的ID出取然后用随机函数取出其中一个,然后用这个随机取到的ID去数据库里再取出记录,所有代价有点大。

from: https://www.cnblogs.com/wuming/archive/2010/02/24/1672906.html

SQLServer newID()的更多相关文章

  1. PHP 生成类似 SqlServer NEWID() 全局唯一标识符

    最近在对接SqlServer中对方有一个字段要求 SqlServer 中 有一个 NEWID() 就是生成36位的 唯一标识符 ->  8CBD3198-297D-4037-A859-B27BB ...

  2. MySql与SqlServer的一些常用用法的差别

    MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] ...

  3. MSSQL sqlserver系统函数教程分享

    摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...

  4. SQLServer和MySql的区别总结

    SqlServer支持like '%'+'87'+'%' 拼接字符串  但MySql里不支持,只能用CONCAT('%','87','%')拼接,否则异常 1.递归函数的区别类别表CREATE TAB ...

  5. sqlserver函数教程

    sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介mssql sqlserver CHECKSUM_AGG聚合函数使用简介mssql sqlserver coun ...

  6. winform学习笔记02

    Hashtable 数据遍历的几种方式 ---Hashtable 在集合中称为键值对,它的每一个元素的类型是 DictionaryEntry,由于Hashtable对象的键和值都是Object类型,决 ...

  7. EF架构~linq to entity的随机排序问题

    回到目录 对于从linq to sql迁移过来的开发者,对随机排序不会感到陌生,直接为datacontext添加一个方法再配合反射就可以实现随机排序了,代码如下: /// <summary> ...

  8. EF 随机排序

    /// <summary> /// 数据上下文扩展 /// </summary> public partial class dbDataContext : IUnitOfWor ...

  9. EF架构使用随机排序

    c#当中,可以用Random类来获取随机数 EF当中,我们写Linq时,抑或是采用Linq的扩展方法时,发现都没有随机排序的方法,这就要求我们自己去扩展了 引用自http://www.cnblogs. ...

随机推荐

  1. day 14作业

    作业 现有文件info.txt, 其内容如下: alpha male 18 1000 bravo male 28 2000 charlie female 38 3000 delta female 48 ...

  2. pinpoint的只是总结

    1,对于拓扑图不显示的原因,可能是hbase版本和pp版本不匹配的原因2,calltree中出现 API-METADATA-NOT-FOUND时是因为HBASE中的元数据被清除了,需要重启应用才可以. ...

  3. nginx-location语法匹配优先级

  4. 使用Arduino连接HC-SR04超声波距离传感器的方法

    距离传感器是机器人项目最有用的传感器之一. HC-SR04是一种便宜的超声波距离传感器,可以帮助您的机器人在房间周围导航.通过一些努力和一个额外的组件,它也可以用作测量设备.在这篇文章中,您将学习到通 ...

  5. Unity进阶之ET网络游戏开发框架 07-修正游客登录的异步BUG

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  6. app开发-1

    一.了解HBuilder HBuilder内封装了大量的书籍,极大方便了使用 官方文档: http://dev.dcloud.net.cn/mui/ui/ 关于布局: mhead  表头.mbody ...

  7. 后台返回的Json为null的字段不显示的方法

    如果引入的是谷歌的gson的话,需要引入依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> ...

  8. PCA: PCA的具体实现过程

     数据预处理:mean normalization & feature scaling 先进行均值归一化(mean normalization),计算出每个特征的均值(uj),然后用xj-uj ...

  9. npm run build打包时修改的路径

  10. C++异常处理(二)----声明接口

    接口声明的三种形式 抛出一切形式的异常 void freeobj(mycoach &t) { ) { cout <<"精神可嘉~但还是年龄太小" << ...