【随机提取N条记录】教程文章相关的互联网学习教程文章

MySQL查询随机数据的4种方法和性能对比_MySQL

下面从以下四种方案分析各自的优缺点。方案一:SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;这种方法的问题就是非常慢。原因是因为MySQL会创建一张零时表来保存所有的结果集,然后给每个结果一个随机索引,然后再排序并返回。有几个方法可以让它快起来。基本思想就是先获取一个随机数,然后使用这个随机数来获取指定的行。由于所有的行都有一个唯一的id,我们将只取最小和最大id之间的随机数,然后获取id为这个数行。为了让这...

mysql随机查询记录_MySQL

mysql使用rand随机查询记录效率测试 一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。 但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上 查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低。 You cannot use a column with RAND() values in an ORDER BY clause, because ORDE...

mysql随机取数_MySQL

order by RAND() 效率太差.我的主键为string,网上的高效语句也无法用上.于是自己琢磨了个新的随机取数处理方法. 未做测试.先记录下.第一步,获取将要获取的数量的总数量. string hql_nums = "select COUNT(*) from Table where a=" + a+ ""; int allnums = MysqlHibernate.GetInstance().getCout(hql_nums);第二步. Random r = new Random(); int begin = r.Next(allnums - nums); //nums为需要取值数量.防止取数不够第三步. 以be...

mysql生成随机字符串函数分享_MySQL

代码如下: set global log_bin_trust_function_creators = 1; DROP FUNCTION IF EXISTS rand_string; DELIMITER $$ CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(255) BEGINDECLARE chars_str varchar(100) DEFAULT abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;DECLARE return_str varchar(255) DEFAULT ;DECLARE i INT DEFAULT 0;WHILE i < n DOSET return_str = concat(return_str,substring(char...

创建角色随机名字(mysql抽取随机记录)和mysql游标的使用_MySQL

最近在开发中遇到了一些问题,在此记录一下解决的方法,已作备忘。 1、现在创建游戏角色的时候,基本上都是支持角色名字随机的,以前此功能在客户端用代码实现,然后向服务器请求并验证,后来发现有时候连续几次都失败,所以改成在服务器实现。实现方法主要考虑使用mysql随机查询记录,在网上查了很多方案,然后用在了我们游戏中。 实现方案是,将所有随机名字都插入到一张表中,然后从中随机取一条当前角色表中没有出现过的名字。...

用MySQL里的Rand()生成不连续重复的随机数年龄以及随机姓名字符串_MySQL

前言: RAND函数,返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。 一,朋友问题描述如下: 通过一段存储过程来实现向表里插入100数据,其中年龄随机 (2),然后我写出的代码如下: -- 创建用户表,在project里 (3),执行结果 call pro3(100); -- 执行过程 二,分析原因所以存储过程改动如下:DELIMITER $$ USE `test`$$ DROP PROCEDURE IF EXISTS `pro3`$$ CREATE PROCEDURE `pro3`(num INT) BEGIN DE...

在MySQL中生成随机密码的方法_MySQL【图】

cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 10 |head -10Si1N9kUyuZ ddzsRXFgxA caDRBRT4Px buGk6LkX4d N5Xod1TOyr 1645cBxAjl KRjwJR2Txu nhQedXagL9 RraDEZgfhY QxCurm5eZF 参数说明:如果需要特别复杂的密码可以试一下:cat /dev/urandom | LC_ALL=C tr -dc "[:graph:]" | fold -w 10 |head -10cat /dev/urandom | LC_ALL=C tr -dc "[:graph:]" | fold -w 10 |head -10 y#@uDo.g-w RP\oq.8?)e 2R~CCIsLPr */V4″...

MySQL随机获取数据的效率分析

在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的。下面我来介绍随机取数据一些优化方法。 SELECT * FROM table_name ORDER BY rand() LIMIT 5;rand在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。 mysql> select RAND();-> 0.5925 mysql> select RAND(2...

MySQL的随机数函数rand()的使用技巧

咱们学php的都知道,随机函数rand或mt_rand,可以传入一个参数,产生0到参数之间的随机整数,也可以传入两个参数,产生这两个参数之间的随机整数。 而在mysql里,随机数函数rand不能传参,产生的0到1之间的浮点数,要是我们需要在mysql产生大于1的随机整数,该怎么办呢? 这样的需求并不陌生,例如,咱做的文章系统,需要作弊,给文章的浏览量随机加上某个范围内的整数。 ? 现在,假设需要产生234到5678之间的随机整数,mysql下怎么...

mysql使用RAND()函数生成随机数实例讲解

项目中需要动态随机生成一些固定位数的随机数,如8位,5位等。之前看到的写法是这样 ROUND(ROUND(RAND(),5)*100000)这样写不太准确,有几率出现4位的情况,Rand() 函数是取 0 ~ 1(无限接近) 的随机函数如果某此随机数取出的 是 0.05321那么这样转化出来的就是 5321 ,只有4位。如果能用一个函数包装一下,取完数值后发现位数不对的时候,就补位进去就比较完美了。下面是我改的一个函数,不过缺点是 生成的函数位数不能超过20位。当...

mysql生成随机时间_MySQL【图】

mysql> update test set create_time=concat(2013-10-01 , floor(10+rand()*10),:,floor(10+rand()*49),:,floor(10+rand()*49)) where create_time=0000-00-00 00:00:00;Query OK, 1 row affectedRows matched: 1 Changed: 1 Warnings: 0

使用SQL语句从数据库一个表中随机获取数据_MySQL

-- 随机获取 10 条数据SQL Server:SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE:SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10 MySQL:SELECT * FROM T_USER ORDER BY RAND() LIMIT 10 Access:SELECT TOP 10 * FROM T_USER ORDER BY rnd([一个自动编号字段])这条语句在 Access 中的&ldquo;查询&rdquo;中是可以运行并得到随机结果的,但在 ASP.NET等后台程序代码中却无法得到预...

mysql生成指定位数的随机数及批量生成随机数的方法【图】

1. 先介绍几个常用的 MySQL 函数 RAND() 随机生成 0~1 之间的小数(0<1)CEILING 向上取整 FLOOR 向下取整2. 生成随机数-- 生成 3 位的随机数 SELECT CEILING(RAND()*900+100); -- 生成 4 位的随机数 SELECT CEILING(RAND()*9000+1000); -- 生成 5 位的随机数 SELECT CEILING(RAND()*90000+10000); ...示例: 解释一下:-- 生成 0~1 之间的随机小数 0 < RAND() <1-- 乘以 9000,变成 0~9000 之间随机小数 0 < RAND*9000 <...

随机生成八位优惠码并保存至Mysql数据库【图】

目前很多商家通过优惠码做活动,现在我们简单的实现八位的优惠码,并保存在数据库中。 1.随机生成优惠码代码如下:import java.util.Random; /** *功能:随机生成优惠码 *@author iamwiam * */ public class Activatedcode {public int ACTIVATEDCODENUM = 200; //生成的优惠码数量Random random = new Random();String candicatedCode = "abcedefghijklmnopqrstuvwxyz";//优惠码包含小写字母candicatedCode+=candicatedCode.toUpp...

MySQL产生随机数并连接字符串的方法示例

本文实例讲述了MySQL产生随机数并连接字符串的方法。分享给大家供大家参考,具体如下: 用到的方法: concat('a','b','c'); 连接字符串 rand(); 产生随机数 floor(); 取整数 SQL语句示例:代码如下:UPDATE user set reg_ip= concat(floor(RAND() * 250),.,floor(RAND() * 250),.,floor(RAND() * 250),.,floor(RAND() * 250)) where username=xxx PS:这里再为大家推荐2款常用的sql在线工具供大家参考使用(包含SQL语句用法说明):...

提取 - 相关标签