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

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Загрузили бы my.cfg или my.ini т.е. настройки mysql вашей.
my.cnf
innodb таблиц нет.
только Myisam.
Сервер:
revered, подскажите, чем Вам не подошёл запрос, который описан в ответе Оптимизайка?
Мой совет ниже будет практически на 100% аналогичен:
Сразу оговорюсь, что с Mysql не работал достаточно давно, если не учитывать небольшие пересечения с mysql-подобным синтаксисом в SphinxQL, то наверное, лет 6-7, больше с MongoDB стыкался, ну и последние несколько месяцев часть функционала на PostgreSQL перевели на проекте.
Поэтому может я что-то не то понимаю в задаче. Но из тех запросов, что выше есть, можно сделать вид, что будет достаточно простенького объединения и нескольких индексов.
ALTER TABLE `organization_category` ADD INDEX `organization_id` (`organization_id`);
ALTER TABLE `organization_category` ADD INDEX `category_id_organization` (`category_id`);
ALTER TABLE `organization` ADD INDEX `city_organization` (`city`);
ALTER TABLE `organization` ADD INDEX `com_organization` (`id`,`status`);
Теоретически может понадобится индекс по name.
Ну и предполагается, что у вас уже есть PRIMARY-индекс на `organization`. `id`
SELECT * FROM `organization`, `organization_category` WHERE `organization_category`.`organization_id` = `organization`.`id` AND `organization_category`.`category_id`=90 AND`organization`.`city`=518 AND `organization`.`status`=1 ORDER BY `name` ASC LIMIT 0,20
Четвертый индекс непонятно нужен или нет, но если одобрённых (? `status`=1) очень много, то это может приводить к скану всей таблицы, поэтому уменьшаем количество записей в индексе, которые нам нужно просмотреть через объединённый индекс по `id` и `status`.
`id` мы уже перед этим и так уже получаем в ходе работы запроса
p.s. В Mysql не хватает хорошего аналога EXPLAIN ANALYZE из PostgreSQL, он был бы не лишним.