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

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Не не, новая таблица не нужна. Мой код вполне шустро работает, я его ещё подкрутил, убрал DESC ID и arsort добавил в PHP, чтобы мускуль вообще не парилась.
---------- Добавлено 24.02.2012 в 21:39 ----------
explain plan SELECT * FROM `cms_freepages` WHERE cat=2 ORDER id DESC LIMIT 37710, 30 в студию
С ораклом не путаете? explain plan?
А так уже писал в 3-й раз: /ru/forum/comment/10081908
:)
Он для ВСЕХ записей, как я ID то найду всех в cat=2? ещё и нужные ID возьму?
Для этого уже netwind предложил вложенный запрос, он выполняется отлично. Прочитайте верхний пост мой :)
возможно я не понимаю что вам нужно. я думаю, что вам нужно выдавать постранично 25 записей на страницу для определенной категории. исходя из этого
1) первая страница для категории 2 будет выдаваться по запросу where cat = 2 and id > 0 limit 25
2) в пхп, куда будет этот запрос выдваться, определяете максимальный id ($maxid)
3) следующая страница будет выдаваться по запросу where cat = 2 and id > $maxid limit 25
4) гоу ту 2)
или вам нужно уметь сразу прыгнуть на определенную страницу (скажем, на девятую)?
Ну конечно же, надо :) То что вы предлагает, это какой-то гемор не функциональный :)
С сервером всё было поправлено и хочу сделать резюме.
Всё описанное моё ИМХО и вы можете меня рвать и метать, не верить и т.п. :)
Оба варианта отлично работают и имеют свои оттенки:
Вариант 1 от netwind:
select * from `cms_freepages`, (SELECT id FROM `cms_freepages` WHERE cat=2 ORDER by ID desc LIMIT 37710,30) sub where `cms_freepages`.id=sub.id ;
* Очень быстро работает на первых страницах т.к. LIMIT + очень мало данных для его использования
* Медленнее уже на самых дальних, но это не критично
Варивнт 2 от меня: /ru/forum/comment/10080098
* Медленнее в самом начале т.к. идёт выборка всех ID
* Очень быстрый при вызове любой страницы, хоть 100500
Поэтому решать Вам, что использовать. Я выбрал свой вариант т.к. у меня страницы меняются 1 раз в час и по ним любят бегать боты. Кэша на 1 час для ботов достаточно, чтобы пробежать быстро-быстро по всем страницам.
Так дело было в сервере ?
---------- Добавлено 27.02.2012 в 23:12 ----------
Похоже вариант с LIMIT не так уж и плох.
Так дело было в сервере ?
---------- Добавлено 27.02.2012 в 23:12 ----------
Похоже вариант с LIMIT не так уж и плох.
И с ним тоже. Но варианты оптимальные я описал выше :)
Варивнт 2 от меня: /ru/forum/comment/10080098
* Медленнее в самом начале т.к. идёт выборка всех ID
медленно даже с составным индексом на (cat, id) ?
даж странно как-то...
медленно даже с составным индексом на (cat, id) ?
даж странно как-то...
Относительно медленно конечно же, я не говорю о 15 секунда и т.п. :)
Но варианты оптимальные я описал выше :)
Оптимальный вариант, это делать избыточность при добавлении данных.
Оптимальный вариант, это делать избыточность при добавлении данных.
Ого, это такой тренд нынче. Зайти кинуть умную фразу, чтобы все охали и ахали. Избыточность, конечно же, уже побежал переписывать структуру и CMS для избыточности, которая никому нафиг не нужна. Аха?