Задавайте вопросы, мы ответим
Вы не зашли.
День Добрый!
Имеем таблицы:
менеджеры: ИД, и прочая информация (10-100 шт)
клиенты: ИД_менеджера, ИД_юзера (10к-100к шт)
юзеры: ИД_юзера, ФИО, город, телефон и еще около 30 полей, примерно на десятке из них ключи (100-200 млн шт) - около 50гб сейчас + 25гб индексы
Используется Windows сервер (временно), MyISAM. MySQL перешли с 5.1 на 5.5, отсюда вопрос про InnoDB.
Проблема 1: Иногда сервер падает в БСОД, при этом крашится таблица с юзерами, на репэйр уходит несколько суток (настройками пробовал обыграть, особо не дает результата, индексы чинит очень долго).
Проблема 2: Работу многопоточную особо не могу настроить, таблица юзеров постоянно пополняется, блокируется вся таблица. К тому же, надо удалять и обновлять текущие данные. Постоянно новые запросы "ждут" выполнения старых.
Во время обновления до МуСкула 5.5 данные-то быстро импортировались, а вот индексы перестраивались почти неделю, причем объем файла рос очень неравномерно. Делать optimize table даже не хочется, там явно в днях можно будет считать время выполнения.
Не подскажете в какую сторону копать? Фулл-текст полей пока не предвидится, так что поиск по ним не нужен.
Спасибо за советы.
Неактивен
Разбейте юзеров на 26 таблиц по первой букве имени (это я образно, на самом деле нужно разбивать по остатку от деления хэш-функции от имени на 26).
Вообще говоря переход на InnoDB большинство проблем решит. Не забудьте организовать регулярный бэкап, так как таблицы InnoDB не всегда восстанавливаются. Бэкап можно делать без простоя сервера, например, с помощью Percona innobackupex.
Неактивен
У меня для юзеров главное поле ИД. А ФИО может быть как на русском, так и на английском языке. Итого уже 59 таблиц (правда вычесть несколько неиспользуемых в русском языке необходимо)
Разбивать таблицы мне не очень хочется, так как слабо себе представляю как будут строиться запросы к 100 (к примеру) идентичным таблицам, с учетом выборки.
Например: найти 1000 человек, мужского пола, старше 18 лет, из города Екатеринбург, с телефоном, с заработком от 20т.р., которые не являются нашими клиентами и им еще не звонили до этого.
Вот примерно такие запросы приходится выполнять, поэтому индексов много. А уж если еще и из 100 таблиц придется делать...
З.Ы. Пока пошел гуглить на тему Перконы
Неактивен