SELECT
ing os n principais elementos de uma tabela é fácil:
SELECT id FROM pixels WHERE pixel_id='some_pixel_id' ORDER BY id DESC LIMIT 1000;
Encontrar o n-ésimo elemento com uma subconsulta é bastante simples:
SELECT MIN(id) FROM
(SELECT id FROM pixels WHERE pixel_id='some_pixel_id' ORDER BY id DESC LIMIT 1000) s;
Supondo que exista um BTREE
índice nas colunas relevantes ( id
), essa abordagem é eficiente? Existem alternativas melhores?
Isso é apenas uma melhoria em relação à consulta de @david, portanto, você obtém o mesmo resultado quando há menos de
1000
linhas no conjunto intermediário:O melhor índice para qualquer uma dessas consultas é on
(pixel_id, id)
, não(id)
apenas on.