SQL причина медленного анализа реализации

Почему выполнение SQL заявление медленно?
SQL - оператор выполняется очень медленно, и что каждое исполнение очень медленно? Или в большинстве случаев это нормально, иногда очень медленно? Так что я думаю , что мы забили две ситуации для обсуждения.

В большинстве случаев это нормально, но иногда будет очень медленными условиями.
В случае же объем данных, это SQL заявление было выполнено очень медленно.

Во- первых, для случайного медленного случая
1, база данных обновления грязных страниц ,
когда мы хотим , чтобы вставить данные в базу данных, или обновить данные, мы знаем , что эта база данных будет находиться в памяти данных , соответствующих обновления поля, но обновление после эти обновления не сразу синхронизированы полей и сохраняются на диск , чтобы идти, но писать эти обновленные записи в журнальном дневник подождать , пока свободное время, не позднее синхронизациями данных журнальных в дневнике перейти на диск.

Тем не менее, журнальный, когда пропускная способность ограничена, если база данных были очень заняты, и очень часто обновляются, на этот раз, чтобы повторить журнал скоро будет заполнен, и на этот раз нет никакого способа, чтобы ждать, пока время простоя, а затем синхронизировать данные на диск только другая оперативная пауза, кинулась синхронизировать данные на диск, чтобы идти, но на этот раз, мы будем вести ваш нормальный SQL оператор выполняется вдруг очень медленно, так что база данных находится в синхронизирующих данных на диск время, это может привести к нашим заявлениям SQL выполняется очень медленно.

2, не может получить блокировку ,
что легче думать об этом, это утверждение мы хотим выполнить, только это заявление в связи с таблицей, с другими, и заперли, и мы не можем получить блокировку, только медленно ожидая другие освободить замок. Кроме того , таблица не заблокирована, но вы хотите использовать линию , чтобы быть заблокирован, и на этот раз, у меня нет никакого способа , ах.

Для того, чтобы определить, является ли он ждет замок, мы можем показать PROCESSLIST использовать эту команду, чтобы проверить текущее состояние О, я должен напомнить вам, лучшая запись некоторые команды о, во всяком случае, я задал несколько команд, не знаю как писать, да, да.

Мы анализируем посетители вниз второго случай, я думаю , что анализ второго условия является наиболее важным.
Во- вторых, для ситуации было настолько медленным
1, бесполезно индекс

1) поле не индексируется

2) поле индекса, но не индекс

3) результаты работы в отсутствии доступа к функции индекса

2, база данных сама по себе неправильно индекс


Выше мое резюме и понимание, последняя часть, я боюсь, что многие люди не понимают индекса базы данных оказались неправильными, поэтому я подробно объяснил, что здесь я делаю резюме выше.

Выполнение SQL медленно, мы должны обсудить два случая:

В большинстве случаев нормальная, иногда очень медленно, то по следующим причинам:

База данных обновления грязных страниц, такие как необходимость синхронизации заполненного журнала повторного выполнения на диск.
Осуществление времени, столкнулся с замком, например, таблицы блокировок, блокировок строк.

Этот SQL-оператор был выполнен очень медленно, затем по следующим причинам:

Нет Индекс доступа: Например, поле не не индексируется, поля из - за расчет, индекс не может функционировать результаты работы.
База данных выбрал неправильный индекс.

 

рекомендация

отwww.cnblogs.com/Wardenking/p/10928835.html