MySQL随机取数据最高效率的方法_MySQL
            
                    来源:动视网
                                        责编:小采
                                        时间:2020-11-09 18:09:45
                    
            
            
                         
                
                
                    MySQL随机取数据最高效率的方法_MySQL
                    MySQL随机取数据最高效率的方法_MySQL:bitsCN.com  发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句,这个说是用着方便,但是效率实在是太低了,于是我用了以下的方法来优化,就是用JOIN表的方法来达到这个取随机数据行的方法,你可以用 EXPLAIN SQL语句来分析一下以下两条SQL语句
                    
                 
                
             
                        导读MySQL随机取数据最高效率的方法_MySQL:bitsCN.com  发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句,这个说是用着方便,但是效率实在是太低了,于是我用了以下的方法来优化,就是用JOIN表的方法来达到这个取随机数据行的方法,你可以用 EXPLAIN SQL语句来分析一下以下两条SQL语句
                        
            

 bitsCN.com
	
	发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句,这个说是用着方便,但是效率实在是太低了,于是我用了以下的方法来优化,就是用JOIN表的方法来达到这个取随机数据行的方法,你可以用 EXPLAIN SQL语句来分析一下以下两条SQL语句的效率,当然,数据量至少上10万以上才能看出性能。
	 
	[1]普通方法, 效率太低
	 
	SELECT * FROM table ORDER BY rand() LIMIT 10;
	 
	[2] JOIN的方法:
	 
	SELECT *
	FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`) – (SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)) AS id) AS t2
	WHERE t1.id >= t2.id
	ORDER BY t1.id LIMIT 10;
	 
	作者“威尔软件”
	 
	bitsCN.com 
    
    
        MySQL随机取数据最高效率的方法_MySQL
        MySQL随机取数据最高效率的方法_MySQL:bitsCN.com  发现在SQL语句里有一个 ORDER BY rand() 这样的一个语句,这个说是用着方便,但是效率实在是太低了,于是我用了以下的方法来优化,就是用JOIN表的方法来达到这个取随机数据行的方法,你可以用 EXPLAIN SQL语句来分析一下以下两条SQL语句