Огромная база, сильно тормозит - нужна помощь.

Статус
В этой теме нельзя размещать новые ответы.

Dmitry AST.

Новичок
Огромная база, сильно тормозит - нужна помощь.

Добрый день.

Есть база данных, она состоит из примерно 100 таблиц, всего из 3х полей – ID, num, price – num – строковое поле из 20 символов. В каждой из этих 100 таблиц примерно 100.000 записей. Т.е. в сумме записей около 10 миллионов.

Есть еще одна таблица на 3 миллиона записей, она тоже из 3х полей: ID, num1, num2 где num1,2 – это два номера (соответственно по 20 символов). В этой таблице идут дубликаты. Т.е. у одного номера может быть от 0 до 10 дубликатов.

На сайте необходимо делать поиск по номерам. Все это дело у нас жутко тормозит… Хотя заказан выделенный сервак. Один номер вместе с дубикатами ищется около 1 минуты, что для клиентов неприемлемо. Хотя все эти данные взяты с CD размером 700Мб и если программа просто работает на компе под Виндой (база в программе используется ACCESS) то номер ищется всего за несколько секунд, и все это дело на обычном ноутбуке, производительность которого раз в 10 ниже чем заказанный у нас сервак…

На сервере программная часть на РНР и МуСкуле. Алгоритм такой, сперва делается запрос к табле дубликатов. Затем по результатам прописан цикл, и каждый найденный дубликат ищется во всех 100 таблицах. Индексы и подобное в БД не используются

Прошу спецов указать как можно оптимизировать БД (индексы и т.п.) и алгоритм (может имеет смысл написать один длинный SQL-запрос ко всем 101 таблицам)…

Заранее спасибо за помощь!
 

hermit_refined

Отшельник
если это не шутка, то...
из 100 таблиц сделать одну, с индексом.
для таблицы дублей тоже создать индекс.
 

Dmitry AST.

Новичок
если отталкиваться от того, что 100 таблиц должны существовать по отдельности, то тогда какие рекомендации? просто когда это дело работает на обычном компе, то там тоже 100 отдельных таблиц, а запчасть даже с 7 дубликатами ищется около 1-2 сек...
 

Фанат

oncle terrible
Команда форума
Дима. Ты не понял?
Ты думаешь, что все в этом мире делается на халяву? пришел лох с улицы, задал пару вопросов на форуме, и пожалуйста - хоть ракету построил, хоть базу настроил? Так ты себе это представляешь?
 

akd

dive now, work later
Команда форума
"Индексы и подобное в БД не используются" :)
 

Dmitry AST.

Новичок
Фанат, а для чего тогда форумы - я думаю,что бы спросить то, чего не знаешь. Или тут платный форум, или это фаш форум, чтобы вы назначали тут ценники. Я думаю, кроме вас есть масса умных людей, которые знают как эту проблему решить и которые готовы этим поделиться. А свои "рекламные сообщения" можете не оставлять. И по поводу "лох с улицы" - я бы на твоем месте выбирал выражения...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху