Ищите...
Misha v.3 18.02.2004 20:16
- возьмите sql класс из примеров и посмотрите сколько памяти отжирает данные запрос.
- посмотрите на метод run_time из lib.p и с его помощью попробуйте понять где у вас отжирается память
по виду запроса нельзя сказать сколько он вернет резальтатов.
product.Name каждой строки может содержать 5 символов, а может - 500, соответственно 5*700 = 3.5 КБ, 500*700 = 340 КБ. есть разница?
а у вас сколько столбцов? а для чего например вы достаете company.Sort?
далее наверняка работает ваше отформатированное menu которое опять-же пропивает байтики (все идет в вывод... правда перед самим выводом пробельные символы пооптимайзятся).
едем дальше... посмотрите что у вас возвращается... это список продуктов. допустим у вас 10 уникальных групп продуктов, но название имен групп у вас присутствует 700 раз. может достанете отдельными запросами группы/подгруппы в хеш, а при выводе названия группы/подгруппы будете писать не $товар.Name_One, а $subgroup.[$товар.Subgroup].name? аналогично с Company, Maingroup & Co.
далее, сам запрос ещё не все. вы ещё выводите результаты. посмотрите на результаты rusage. сравните результаты rusage для страницы на которой только запрос и на странице, где
этот-же запрос и ваш вывод данных. возможно узкое не в запросе (хотя что можно запросто сделать с запросом я написал чуть выше)
в общем ищите...