Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Работа с большой базой данных


Автор: SLOVE123 15.11.2017, 00:36
Подскажите пожалуйста как работать с большой БД.  Есть очень большая база данных MySQL на 160 гиг. Любые запросы которые я пишу виснут, даже если брать маленькую выборку и использовать limit. Мне нужно с этой базы вытянуть данные за один год, там миллионы сессий. Как посоветуете действовать? может дело в СУБД? 

Автор: Akina 15.11.2017, 08:00
Да небось индекса подходящего нет, вот запрос на отборе или сортировке и помирает...

Автор: _zorn_ 15.11.2017, 18:27
Цитата(Akina @  15.11.2017,  15:00 Найти цитируемый пост)
Да небось индекса подходящего нет, вот запрос на отборе или сортировке и помирает... 

Ты издеваешься ?
Цитата
Есть очень большая база данных MySQL на 160 гиг

И там скорей всего запросы от какого нибудь битрикса )
Типа LIKE %DATE('Y-m-d')%
Какие тут индексы ?  smile 

Топикстартеру - без конкретики нет ответа.

А еще конфиг мускуля, компа и т.п. Может вы на ноуте 160 гиг мускуля решили развернуть )

Ну это минимальные данные которые нужны для ответа на ВАШ вопрос.
Волшебной кнопки "сделать ХАРАШО" не существует...

Автор: Akina 15.11.2017, 18:48
Цитата(_zorn_ @  15.11.2017,  19:27 Найти цитируемый пост)
Ты издеваешься ?

Нет. Даже при наличии индекса по дате попытка сделать отбор по year(date), тем более по like, вместо обычного between кончится весьма плачевно... а если ещё и версия сервера 5.5, или вообще 5.1...

Автор: _zorn_ 17.11.2017, 18:46
Цитата(Akina @  16.11.2017,  01:48 Найти цитируемый пост)
Даже при наличии индекса по дате попытка сделать отбор по year(date), тем более по like, вместо обычного between кончится весьма плачевно...

Так я же об этом. Индексы не панацея.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)