| 
	
	
		
		
			
			 
				Перемешать данные в таблице
			 
			
		
		
		
		В БД MySQl имеется таблица состоящая из 1 столбца/поля `word` varchar(60) NOT NULL, на этом столбце стоит стоит первичный ключ. 
В таблице 12млн записей. 
Не могу придумать оптимального решения для того, чтобы вытащить случайную запись. Т.к. таблица большая, то ORDER BY RAND очень и очень долго выполняется.  
Попробовал еще таким способом: SELECT `word` FROM `words` LIMIT N, 1, где N - случайное число от 0 до 12млн. Подобный запрос выполняется за 8 секунд, что так же меня не устраивает. 
 
Как вариант вижу создание дополнительного столбца наполненного случайными числами от 0 до 12 млн. А после сортировать поле по возрастанию, и брать по 1 записи с начала и удалять её после обработки. 
 
Есть ли какие-то идеи/советы как решить задачку оптимальнее? 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |