SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.01.2012 21:10:05

AngelInTwilight
Участник
Зарегистрирован: 16.01.2012
Сообщений: 2

Механизм работы запросов.

Здравствуйте, объясните пожалуйста (или поделитесь ссылкой) каков механизм (т.е. что мускул делает/смотрит/проверяет/создаёт и в какой последовательности) работы следующих типов запросов:

select если ищем по не ключевому полю;
select если ищем по не ключевому полю по диапазону (т.е. например SELECT name FROM users WHERE date BETWEEN date1 AND date2);
select если ищем по ключевому полю;
select если ищем по ключевому полю по диапазону (т.е. например (id - ключевое поле) SELECT name FROM users WHERE id BETWEEN 1 AND 1000);
optimize;
update;
insert;

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

Отредактированно AngelInTwilight (16.01.2012 21:10:24)

Неактивен

 

#2 18.01.2012 00:16:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Механизм работы запросов.

1. читает табличку последовательно
2. аналогично
3. читает индекс, потом данные
4. аналогично
5. перестраивает индексы так, чтобы они были более равномерно распределены
6. обновляет smile
7. вставляет smile

Неактивен

 

#3 21.01.2012 01:34:34

AngelInTwilight
Участник
Зарегистрирован: 16.01.2012
Сообщений: 2

Re: Механизм работы запросов.

Йохохо) спасибо, кэп!
а то что например select по ключевому полю там создаёт деревья и как-то оптимизирует поиск это не?

Неактивен

 

#4 21.01.2012 02:20:15

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Механизм работы запросов.

В третьем пункте сказано: читает индекс, потом данные.
Индекс хранится в виде бинарного дерева и по нему происходит поиск нужного значения.
Но поиск по индексу происходит лишь в том случае, когда это более эффективно, чем прочитать таблицу целиком (FTS - Full Table Scan).


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson