- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
LEOnidUKG, но тогда вам удалось использовать кеш mysql и это можно назвать хорошим решением.
Все-таки, там именно тот код используется, что вы привели? Он ведь неверный и может выводить неправильные результаты. Тянитолкай дело говорит.
Чуть поправленный, чтобы уж люди тоже могли юзать:
Нет, в комментах я делаю по другому, просто вбиваю весь результат в PHP и уже там разбиваю. Там большой бич, это многоуровневые комменты, поэтому это пока оптимальный вариант.
LEOnidUKG, тогда смысла нет тащить и сортировать массив. просто в цикле отсчитайте нужную страницу.
или через mysql_data_seek отлистайте до нужной позиции = 25*страница.
Вместе с mysql_unbuffered_query будет вообще пушка.
Странно, что кеш mysql тут вообще помогает, ведь он должен сбрасываться при любых изменениях в таблице cms_freepages. Не особо широко применимое решение.
Правильно, таблица то обновляется 1 раз в час и всё. Более она не трогается вовсе. 1 раз попала в кэш и забыли про неё.
---------- Добавлено 24.02.2012 в 01:43 ----------
Да какая разница? Это нужно count вводить. А толку то? ну будет выполняться на доли секунды меньше и всё. PHP же в памяти выполняется.
SELECT * FROM `cms_freepages` WHERE cat=2 ORDER id DESC LIMIT 37710, 30
Чем дальше "в лес" т.е. листаем глубже, сервер просто умирает на таком запросе и выполняется по 15 секунд. А как боты набегут и давать клацать по 10 таких запросов.
Сейчас проверил на своей базе - 400 000 записей 510МБ , 40 разных категорий
SELECT SQL_NO_CACHE * FROM `data` WHERE kat=5 ORDER BY id DESC LIMIT 37710, 30
0.8 сек.
если отсортировать базу в обратном порядке - чтобы избежать сортировки
SELECT SQL_NO_CACHE * FROM `data` WHERE kat=5 LIMIT 37710, 30
0,3 сек.
с кэшированием так ваще агонь.
PS.
kat tinyint(4)
в 5 категории 82 000 записей
Не понимаю суть данной функции и чем она быстрее. Учитывая, что код идёт сверху вниз, в любом случаи пока не будет обработан и забит массив, код дальше не пойдёт выполняться. В чём смысл?
---------- Добавлено 24.02.2012 в 02:27 ----------
Сейчас проверил на своей базе - 400 000 записей 510МБ , 40 разных категорий
SELECT SQL_NO_CACHE * FROM `data` WHERE kat=5 ORDER BY id DESC LIMIT 37710, 30
0.8 сек.
если отсортировать базу в обратном порядке - чтобы избежать сортировки
SELECT SQL_NO_CACHE * FROM `data` WHERE kat=5 LIMIT 37710, 30
0,3 сек.
с кэшированием так ваще агонь.
PS.
kat tinyint(4)
в 5 категории 82 000 записей
Ну что я могу поделать? Вас поздравляю, у меня всё по другому и всё работает медленее. Возможно зависит от настроек или же серверной машины.
Ну что я могу поделать? Вас поздравляю, у меня всё по другому и всё работает медленее. Возможно зависит от настроек или же серверной машины.
Я вообще-то помочь хотел, а не хвастаться.
Что мешает сортирнуть базу в обратном порядке и не использовать сортировку в каждом запросе?
PS.
А индекс базы полностью помещается в RAM? - памяти выделено достаточно? чтобы не перечитывать индексы с диска?
Я в свое время очень увлеченно тюнил свою доску объявлений - и постраничный вывод был ахилесовой пятой.
Про какую именно сортировку вы имеете ввиду? То что она в PHP проходит?
Индекс базы 15КБ, поэтому дамб весь помещается.
Про какую именно сортировку вы имеете ввиду? То что она в PHP проходит?
Саму базу отсортировать.
ALTER TABLE `cms_freepages` ORDER BY `id` DESC
Саму базу отсортировать.
ALTER TABLE `cms_freepages` ORDER BY `id` DESC
Была бы статичная Таблица, то можно было бы сделать. А так то данные меняются автоматически.
Это уже мелочь не важная. Тут самый прикол как быстро получить список всех ID в нужной категории.
Была бы статичная Таблица, то можно было бы сделать. А так то данные меняются автоматически.
Раз в час поменялись - повторили сортировку и так на автомате.
Проверить же не сложно - будет толк на вашей системе или нет, заодно оцените сколько выполняется сортировка и если после неё запрос в 15 сек выполнится за 7 сек - это уже результат.