- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
AlexVenga,
А текстовый файл инклудишь и выводишь на странице?
BasePelleta добавил 24.08.2011 в 16:03
Один блок = один файл. А на скольких страницах этот блок не важно. Либо я вас не до конца понял.
Если, к примеру 10 страниц, то для каждой генерятся рандомно свои 4 новости.
А, вот так. Вы хотите чтоб на конкретной странице были всегда постоянные какие-то 4 новости, или, скажем, чтобы раз в сутки эти новости менялись?
создаю файл с серилизованной выборкой нужных полей БД (все поля короткие)
При обращении к странице проверяю сколько файл прожил и не пора ли его заменить, затем либо расерилизовываю в данные и вывожу, либо генерю новые, пишу в файл и вывожу.
Тока из файла надо читать не долгим и тяжелым fopen fread fclose - это дольше чем МуСКУЛ, а прочто filegetcontent/
Если места на диске до жопы то можно в файл html пихать и после проверки что файл нормальный сразу passthru делать и он вообще моментом на экран выскочит...
AlexVenga добавил 24.08.2011 в 16:25
просто в самом HTML его нельзя инклудить, надо сначала проверять на дату последнего изменения...
При обращении к странице проверяю сколько файл прожил и не пора ли его заменить, затем либо расерилизовываю в данные и вывожу, либо генерю новые, пишу в файл и вывожу.
Тока из файла надо читать не долгим и тяжелым fopen fread fclose - это дольше чем МуСКУЛ, а прочто filegetcontent/
Если места на диске до жопы то можно после проверки что файл нормальный сразу path_thru делать и он вообще моментом на экран выскочит...
Подход интересный, но если новостей, к примеру 1000, то создается столько же файлов....
, а если есть кэширование, то необходимость в файлах посредственна.
В первом посте при нерандомном запросе, блок для релевантных статей уходил в кэш и жил там до обновления.
При добавлении рандома в sql-запрос, при каждом обновлении в браузере новости, стал рандомно меняться список релевантных статей, для каждой новости свой.
Тогда не парьтесь, в массив и из него рандомная выборка сколько нужно - отработает точно быстрее рандома в мускуле.
Рандом для МуСКУЛ это сразу слоу квери....
Не знал, что так критично ...
Альтернатива кешу: чтобы решить вот это
при выводе статьи блок релевантных статей постонянно меняется.
1. Хотелось бы сделать так, чтобы при обновлении страницы новый рандомный
запрос выполнялся через некоторый интервал.
можно отобранные случайные id хранить в какой-нибудь служебной таблице какое-то время
Рандом для МуСКУЛ это сразу слоу квери....
неправда. все зависит от объема данных.
де-то читал, что конструкция (rand() AS rnd) в запросе к мускулу не производительна
и может быть причиной slow queries.
А ты не читай. Дождись их появления для начала, а потом уже беспокойся.
В конце концов, писать плохие запросы быстро - это выгодно. Многие сайты закрываются еще до того как их начнет беспокоить производительность mysql.
Не знал, что так критично ...
Ну вот что чаще всего делает мускул? выбирает данные из отсортированного набора данных.
Методов поиска я вам назову штук 5, а то и 10 с различной скоростью (от простого перебора, до деления пополам и деления на случайные отрезки).
А что такое отсортировать рандомно?
Я не спец в мускуле (внутренней его части), но алгорит генерации примерно такой:
1) берем псевдослучайное число
2) Берем второе псч, если оно не равно первому идем дальше, если равно берем другое пока не найдем отличное
3) Берем псч и ПРЯМЫМ ПЕРЕБОРОМ проверяем предыдущие, пока число не будет уникальным в рамках новой выборки.
n)...
уверен что оптимизатор запросов это както по другому делает, но всеравно это очень долго...
Оффтоп, господа крутые прогеры, а есть вариант получить набор данных в один двумерный массив сразу, а не перебирать циклом каждую запись из указателя? просто оч давно интересует... по типу SimpleXml_Load ???.
AlexVenga добавил 24.08.2011 в 17:43
В конце концов, писать плохие запросы быстро - это выгодно. Многие сайты закрываются еще до того как их начнет беспокоить производительность mysql.
Согласен на все 100%!!!
по этому раз в пол года переписываю некоторые сайты с 0....
Это как
- что такое програмирование?
- Ну вот представь, берем деревянный сортир, и начинаем к нему на крышу пристраивать Empire State Building
Так что ТС, прекращайте плодить прогерские топики и делайте "чтоб работало", когда будет тормозить нещадно от наплыва народа - уже и денег будет достаточно на нормального архитектора-програмисто, способного все предусмотреть и заложить зарание.
Реализовать протокол MySQL и через сокет данные получать :) Шутка...