У меня проблема:cast to unsigned требуется очень долго
Я хочу запросить некоторые данные из 3 больших SQL-таблиц.
eintraege ~ 13000 строк // rubrik2eintrag ~ 9500 строк // rubriken ~ 425 строк
Этот запрос
SELECT eintraege.id AS id, eintraege.email, eintraege.eintrags_name, eintraege.telefon,
eintraege.typ, rubrik2eintrag.rubrik AS rubrik, eintraege.status,
IFNULL(GROUP_CONCAT(rubriken.bezeichnung), \'- Keine Rubrik zugeordnet\') AS rubrikname
FROM eintraege
LEFT OUTER JOIN rubrik2eintrag ON rubrik2eintrag.eintrag = eintraege.id
LEFT OUTER JOIN rubriken ON rubrik = rubriken.rubrik_id
GROUP BY id
ORDER BY `id` DESC
LIMIT 0, 50
отлично работает для меня (~ 2 секунды времени отклика), но entrys появляются не в правильный порядок. (например, строка с идентификатором 500 вышла прямо перед строкой с идентификатором 3000)
поэтому я передал идентификатор без знака. например:
ORDER BY CAST(`id` AS UNSIGNED) DESC
Но теперь для запроса требуется около 40 секунд. Есть ли лучший/быстрый способ достичь правильного упорядоченного вывода?
Что вы получаете от 'desc'? –
ethrbunny