🔥 Burn Fat Fast. Discover How! 💪

Как оптимизировать запрос выбирающий три случайные записи `SEL | Пятиминутка PHP

Как оптимизировать запрос выбирающий три случайные записи `SELECT * FROM repositories ORDER BY RANDOM() LIMIT 3`? В статье рассмотрены несколько способов с описанием плюсов и минусов. Неожиданное решение: использовать SP-GiST индекс (PostgreSQL): http://amp.gs/jIG1v

ALTER TABLE repositories ADD COLUMN randomness point;

UPDATE opendor SET randomness = point(random(), random());

CREATE INDEX repositories_randomness on repositories using spgist(randomness);

SELECT * FROM repositories ORDER BY randomness <→ point(0.753,0.294) LIMIT 3;