- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
не трогайте, пусть зависнет навсегда.
наивно ожидать что мозги разработчику можно вправить добавлением индекса.
Согласен.
Вопрос в теме задан плохо.
Ключевую информацию приходится вытягивать.
Почему ТС сразу не сказал о ключах на таблице – довольно странно.
Если таблицы и запросы хорошо оптимизированы, то 50 000 записей должно без проблем работать даже на виртуальном хостиге.
Подумайте, нужно ли при каждом просмотре добавлять запись в эту таблицу.
Обычно добавления insert при каждом просморе не делаются.
Оптимизация mysql вопрос большой и комплексный.
Начинать его нужно с изучения основ баз данных и чтения всей документации к mysql.
почитайте документацию на команду mysql explain, на лог медленных запросов в mysql.
SELECT * FROM `mytable` WHERE `iduser` = '$iduser'
Нужен ли Вам SELECT всей таблицы (*)? И для чего? Для подсчета статистики? Попробуйте изменить логику подсчета. Ограничить выбор только нужными столбцами. Используйте LIMIT. Циклы в скрипте есть? Избавьтесь от них?
50 тыс для мускул - ерунда. У вас дело не в мускул а в обработке запросов.
На чем сайт? Какая посещаемость? пхп? Время выполнения для пхп?
Сделаю вид, что разработчик это я.
каким образом?
Каждый просмотр - минимум 1 запрос, максимум 2.
Кешируйте
Десять кешев
Elles, здесь нужен настоящий разработчик, а не делающий вид.
делается запрос на выборку и на добавление данных в таблицу
index ставили на iduser, по ощущениям стало еще хуже..
Какие могут быть индексы при большом количестве INSERT'ов? Таблицам где в основном используются SELECT запросы ставьте движок InnoDB, индексируйте поля по которым производится поиск. Многочисленные INSERT запросы лучше делать в MyISAM и с минимальным количеством индексов так как при добавлении значения в индексах "перестраиваются" это занимает много времени. Старайтесь для выборки использовать временные таблицы и типы таблиц MEMORY. Много зависит от задачи которую требуется реализовать. Покажите структуру базы, может что-то смогу подсказать.
Так ли критично количество в 50 тысяч?
Это очень мало для любой СУБД.
Запросы
Вам помогут два шага:
1. Создать индекс по iduser.
2. Отсортировать записи по iduser.
А вообще, такое впечатление, что есть значительно более лёгкий вариант запроса. Что он должен делать?