SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 02.12.2011 21:57:16

Lioha
Участник
Зарегистрирован: 24.11.2010
Сообщений: 22

Вопрос про Кэш ключей

Доброго времени суток!

Пара вопросов:

Если выполняется операция Insert или Update на таблице tablename типа MyIsam происходит ли подгрузка индексов этой таблицы в буфер(кэш) ключей, если они там не были до этого? Или же операции Insert и Update делают только запись в индексный файл и файл данных таблицы и не вызывают чтение индексного файла и соответственно не происходит его загрузки в кэш ключей?

И еще один вопрос - если размера выделенного под кэш ключей недостаточно для загрузки индекса то как при этом поступает mysql - вообще не грузит туда индекс или грузит его часть?

Спасибо!

Неактивен

 

#2 05.12.2011 00:14:18

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

Re: Вопрос про Кэш ключей

Да, происходит — тех страниц индекса, которые обслуживают изменяемые строки
данных.

Собственно, на второй вопрос это тоже отвечает — индексы грузятся страницами,
а не целиком.

Неактивен

 

#3 05.12.2011 15:00:27

Lioha
Участник
Зарегистрирован: 24.11.2010
Сообщений: 22

Re: Вопрос про Кэш ключей

Спасибо paulus!
А если используется только оператор Insert, и нет изменяемых строк данных, а только добавляемые и не планируется к таблице применять операторы Delete,Select и Update, то в этом случае будет ли осуществляться подгрузка каких либо страниц индекса?
Просто таблица хоть и партицирована, но очень велика и индексы большие, и поэтому не хотелось бы отводить из за нее под кэш ключей много оперативной памяти, если тем более при одном Insert кэш ключей никогда ей и не понадобиться.

Спасибо.

Неактивен

 

#4 05.12.2011 22:05:59

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

Re: Вопрос про Кэш ключей

А зачем тогда индексы вообще? wink

Для того, чтобы записать страницу индекса на диск, вам нужно:
1. Прочитать страницу индекса с диска, если ее нет в кэше
2. Добавить в памяти в эту страницу новые значения
3. Записать страницу на диск

Если памяти выделить мало — будете больше читать с диска, только и всего.
Общая производительность, конечно, снизится.

Неактивен

 

Board footer

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