_________________ We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
0 Сообщения: 23 Зарегистрирован: 18.11.03 Откуда: Россия
Добавлено: 2 Февраль 2005, 13:14:26
… даты выбирать DISTINCT, бросать в массив, а потом при переборе дат календаря искать по массиву? Приходила. Но пока не проверял (замерю время, результаты сообщу). Чисто интуитивно кажется, что медленнее будет...
Про индексы я как-то и забыл, каюсь. Сегодня же проверю, думаю, поможет.
Просто никогда ещё не сталкивался с проблемой быстродействия MySQL - не имел больших таблиц сложных запросов. Обычно всё намного проще. А заморачиваться над таблицей в 10 Кбайт это извращение...
0 Сообщения: 23 Зарегистрирован: 18.11.03 Откуда: Россия
Добавлено: 2 Февраль 2005, 20:18:25
Crazy, и своём первом сообщении я указал только часть кода, та, которая В ЦИКЛЕ вызывается и являет собой запрос. Кажется, я подробно объяснил смысл скрипта - постоить календарь (в моём случае за 2 года примерно), есть новость на конкретной дате - есть ссылка, нет новости - нет ссылки. Чтобы проверять, если ли новость за конкр.дату, выполняю указанный запрос, где $ndate - искомая дата.
eo, я, очевидно, не гений, но и не тормоз. Указанный Вами вариант имеет и свои недостатки (если, конечно, Вы сами поняли, что это вариант, предложенный Чебурген-ом, подразумевает хранение полученного результата в массиве с последующим поиском по этому массиву(in_array), что нагрузит PHP и память). А в Вашу "навскидку" не мешало бы DISTINCT добавить, кстати. Но мне почему-то кажется, что Вы задачу несколько недопоняли. Sorry.
ВСЕМ
Меня чудесным образом спасли индексы по полю adate. Каюсь, просто раньше не приходилось ими пользоваться. Теперь скрипт отрабатывает быстро, менее секунды. Результаты http://nojabrsk.info/archive
вау!
С каким экспертом нам посчастливилось познакомиться!
С каким знанием дела он рассуждает о недостатках тех или иных способов.
Как заботливо заботится о расходовании запредельных 6 килобайт памяти!
Как свысока смотрит на тех, кто сообщает ему неизвестные дотоле сведения уровня 2х2=4!
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.