- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
а какой смысл в лефт джойн? какой выйгрыш может быть? у нас раньше он итак стоял, сменили на NOT exitst
Сравните EXPLAIN-ы.
У меня не захотел подтягиваться индекс во второй таблице даже через FORCE INDEX c NOT EXISTS, хотя у вас как бы тянет.
Но смущает длина индекса по первой таблице
Сравните EXPLAIN-ы.
У меня не захотел подтягиваться индекс во второй таблице даже через FORCE INDEX c NOT EXISTS, хотя у вас как бы тянет.
Но смущает длина индекса по первой таблице
не похоже на пробелму с индексами, такая конструкция как сейчас спокойно выдерживает 2-3к одновременных селектов. Если подваливает под 4к+ начинает сильно нагружаться процессор, как будто нехватает ресурсов
UPD: Если увеличивать LIMIT в выборке, нагрузка значительно возрастает.
Судя по запросу в том виде как Вы его привели, у Вас только одна переменная там -
Если это реально так, то создайте таблицу сделаную по этому же запросу, но без учета этой переменной. И работайте по ней.
Если получается большая, то вынесите в новую таблицу только важные вещи - ключевик для выборки по основной таблице и $acc.
таблицу
Эта переменная динамическая. просто вырвана из контекста кода. Доупстим там 84378234, а в след запрос 78432878
Эта переменная динамическая. просто вырвана из контекста кода. Доупстим там 84378234, а в след запрос 78432878
Или для начала просто попробовать вьюху сделать, а не отдельную таблицу как таковую. Вьюхи неплохо кэшируются, если памяти достаточно.
Дык мы об этом и говорили. Но остальной запрос статичен? Если да, то при такой нагрузке есть смысл вытащить данные по нему в отдельную таблицу. Апдейтить ее по времени или по триггерам.
Или для начала просто попробовать вьюху сделать, а не отдельную таблицу как таковую. Вьюхи неплохо кэшируются, если памяти достаточно.
запрос статичен, выборка меняется по 4000 раз в секунду из за инсертов туда
запрос статичен, выборка меняется по 4000 раз в секунду из за инсертов туда
Что касается непосредственно решения задачи из первго поста, то кроме уже предложенного кэширования данных этого статичного запроса (если это допустимо), тут тяжело что-то предложить.
Единственное что бы мы еще проверили - насколько у вас сеть между мастером и слейвами забита. Потому что частота запросов достаточно высокая, что бы в принципе даже широкий канал между серваками забить. И в таком случае возможно все упирается не в саму скорость обработки базой, а в то что сетевой интерфейс тормозит. А проц нагружен от того, что ему приходится огромное количество данных пропихивать в недостаточной ширины сетевой интерфейс.
лько у вас сеть между мастером и слейвами забита. Потому что частота запросов достаточно высокая, что бы в принципе даже широкий канал между серваками забить. И в таком случае возможно все упирается не в саму скорость обработки базой, а в то что сетевой интерфейс тормозит. А проц нагружен от того, что ему приходится огромное к
У нас не сервис очереди но сервер очередей используем в разных целях (Rabbitmq). У нас сервис по взаимопиару в социальных сетях.
Сеть не забита, сервера в 1 стойке.