Перейти к содержимому


MySQL, индексы, оптимизация


Сообщений в теме: 2

#1 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 23 Сентябрь 2016 - 10:33

КБ создает индексы в БД кроме автоматического по id?

Столкнулся с тем, что запросы на соединение нескольких таблиц выполняются 10-ки секунд.
Хотя соединение идет по полям связи в этих таблицах...
Запрос в скрипте по крону выполняется, например контрагенты с последними счетами...

Вот думаю создавать в ручную или должно само работать?

Версия: 2.0.5, Текущая ревизия: 16474 от 2016-05-13

#2 mak

    Активный участник

  • Активный пользователь
  • PipPipPip
  • 207 сообщений

Отправлено 23 Сентябрь 2016 - 10:48

И еще, удаление записей происходит крайне медленно.
1-3 записи в секунду. Стоят галки "Автоудаление/архивация" и "Автокопирование".

#3 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 23 Сентябрь 2016 - 20:28

Просмотр сообщенияmak (23 Сентябрь 2016 - 10:33) писал:

КБ создает индексы в БД кроме автоматического по id?

Столкнулся с тем, что запросы на соединение нескольких таблиц выполняются 10-ки секунд.
Хотя соединение идет по полям связи в этих таблицах...
Запрос в скрипте по крону выполняется, например контрагенты с последними счетами...

Вот думаю создавать в ручную или должно само работать?

Версия: 2.0.5, Текущая ревизия: 16474 от 2016-05-13

Сделайте EXPLAIN своего запроса и сразу все увидите. "Using temporary; Using filesort" - в результатах сильно тормозят работу

http://www.mysql.ru/...an/EXPLAIN.html
"....
Столбец possible_keys служит для указания индексов, которые может использовать MySQL для нахождения строк в этой таблице. Обратите внимание: этот столбец полностью независим от порядка таблиц. Это означает, что на практике некоторые ключи в столбце possible_keys могут не годиться для сгенерированного порядка таблиц. Если данный столбец пуст, то никаких подходящих индексов не имеется. В этом случае для увеличения производительности следует исследовать выражение WHERE, чтобы увидеть, есть ли в нем ссылки на какой-либо столбец (столбцы), которые подходили бы для индексации. Если да, создайте соответствующий индекс и снова проверьте запрос при помощи оператора EXPLAIN.
...."

Сообщение отредактировал maksn: 23 Сентябрь 2016 - 20:31

"...Сижу, паяю. CRM починяю..."
Мои разработки





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных