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

MySql从表结果集中随机取一条数据_MySQL

bitsCN.comMySql从表结果集中随机取一条数据 [sql] Select * from (Select (@rowNo :=@rowNo+1) AS rowno, pwd from pur_admininfo, (Select @rowNo := 0) b) tmp where rowno=(Select Round(Rand() * 10000000 % (Select Count(*) from pur_admininfo))) limit 1; 为了可以随机得到表结果集中的任何一条记录,这里乘以10000000,然后再取模,但不知道为什么更大的数字就不行了。 另一种实现方式: [sql] SELECT * FROM pur_adm...

数据库获取随机记录_MySQL

bitsCN.com数据库获取随机记录 随机记录随机数 1. mysql :SELECT * FROM Member WHERE Country = "HK" ORDER BY RAND() limit 302. oracle : select id from tableName where rownum<100 order by dbms_random.value bitsCN.com

mysql使用rand随机查询记录的高效率方法_MySQL

bitsCN.commysql使用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 ORDER BY...

mysql实现随机查询_MySQL

bitsCN.com 一、随机查询一条数据方法一:SELECT * FROM `table` ORDER BY RAND() limit 1评价:不建议使用,效率非常低,官方文档中进行说明:Order By和RAND()连用,会多次扫描表,导致速度变慢。方法二:SELECT * FROM `table` WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id LIMIT 1; 解释:SELECT MAX(id) FROM `table` 这句话查询出最大的id值 SELECT floor(RAN...

mysqlrand随机查询记录效率_MySQL

bitsCN.com 一直以为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 ORDER BY would evaluate the column multiple times. 搜索Google,网...

mysql获取随机数据的方法_MySQL

bitsCN.com 1.order by rand()数据多了极慢,随机性非常好,适合非常小数据量的情况。SELECT * FROM table_name AS r1 JOIN (SELECT (ROUND(RAND() * (SELECT ABS(MAX(id)-MIN(id)-$limit) FROM table_name))+(SELECT MIN(id) from table_name)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT $limit; 速度非常快,但是得到的数据是id连续的,没办法解决。子查询产生一个随机数。rand()是0到1的随机数,可以等于0到...

mysql优化取随机数据慢的方法_MySQL

bitsCN.com 前天因为工作需要我把从一个5W记录的数据库中随机抽取几条记录了,这里我是直接使用mysql rand by函数来直接,几千条记录没关系,但如果到了几万条感觉要几秒,这个就很慢了,下面小编与大家一起来看看mysql 取随机数据慢优化过程。MySQL很多时候需要获取随机数据,举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1 但是,后来我查了一下MYSQL的官方...

mysql实现随机查询经验谈_MySQL

bitsCN.com 一、随机查询一条数据方法一:SELECT * FROM `table` ORDER BY RAND() limit 1评价:不建议使用,效率非常低,官方文档中进行说明:Order By和RAND()连用,会多次扫描表,导致速度变慢。方法二:SELECT * FROM `table` WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id LIMIT 1; 解释:SELECT MAX(id) FROM `table` 这句话查询出最大的id值 SELECT floor(RAN...

mysql随机查询若干条数据的方法_MySQL

bitsCN.com 在mysql中查询5条不重复的数据,使用以下:SELECT * FROM `table` ORDER BY RAND() LIMIT 5就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据。SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id ASC LIMIT 5;但...

MYSQL随机抽取查询MySQLOrderByRand()效率问题_MySQL

bitsCN.com 要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机。 但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以...

MySQL随机查询记录的效率测试分析_MySQL

bitsCN.com 以下就是文章的主要内容。   1.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 ORDER BY would evaluate the column multiple times.   ...

MySQL中随机生成固定长度字符串的方法_MySQL

bitsCN.com 要随机生成字符串代码如下: 在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法。 随机串函数定义方法: CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1 BEGIN DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; DECLARE return_str varchar(255) DEFAULT ''; DECLARE i INT DEFAULT 0; W...

MySQL随机查询数据与随机更新数据实现代码_MySQL

bitsCN.com MySQL随机查询数据 以前在群里讨论过这个问题,比较的有意思.MySQLl的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。 SELECT * FROM table_name ORDER BY rand() LIMIT 5; MySQL的rand()函数在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。 关于MySQL的rand()函数的效率问题...

MySQL随机密码生成代码_MySQL

bitsCN.com DELIMITER $$ CREATE FUNCTION `t_girl` . `func_rand_string` ( f_num tinyint unsigned , f_type tinyint unsigned ) RETURNS varchar ( 32) BEGIN -- Translate the number to letter. -- No 1 stands for string only. -- No 2 stands for number only. -- No 3 stands for combination of the above. declare i int unsigned default 0; declare v_result varchar ( 255) default '' ; while i if f_type = 1 then...

MYSQL随机抽取实现方法及效率分析_MySQL

bitsCN.com 请教怎么从数据库随机读出15条记录? order by rand() limit 0,15 怎么从数据库随机读出所有记录? order by rand() 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机。 但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要...

提取 - 相关标签