Оптимизировать заказ от Rand ()MySql

Форум по Mysql
Ответить
Anonymous
 Оптимизировать заказ от Rand ()

Сообщение Anonymous »

У меня есть большая таблица (500 тысяч записей), и мне нужно выбрать из нее 3 3 -й случайные записи. Таблица должна быть соединена с несколькими другими таблицами. Даже если я оптимизирую с индексами столько, сколько захочу, я не смогу стать ниже 0,4 с, и с растущей базой данных это будет только хуже. < /P>
Я прочитал различные статьи об этом Тема, но я не уверен, можно ли использовать эти методы в моем конкретном случае. У идентификаторов записей есть места между ними. Есть ли какой -нибудь метод для достижения этого подряд в сотнях секунды? < /P>
SELECT `s`.*, `sic`.*, `c`.*, `con`.`*, `c1`.*, `c2`.*, `c3`.*, `cur`.*, `s1`.*,
`s2`.* FROM `s`
LEFT JOIN `sic` ON sic.id = s.id
LEFT JOIN `c` ON c.id = s.cou_id
LEFT JOIN `con` ON con.id = c.con_id
LEFT JOIN `c1` ON s.col_id = c1.id
LEFT JOIN `c2` ON s.bac_id = c2.id
LEFT JOIN `c3` ON c3.id = s.col2_id
LEFT JOIN `cp` ON cp.id = s.cp_id
LEFT JOIN `cur` ON cur.id = cp.cur_id
LEFT JOIN `s1` ON s.s_width_id = s1.id
LEFT JOIN `s2` ON s.s_height_id = s2.id WHERE (s.enabled = 1) AND (s.exists = 1) AND
(s.fileEnabled = 1) ORDER BY rand() ASC LIMIT 4;


Подробнее здесь: https://stackoverflow.com/questions/793 ... er-by-rand
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»