SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 23.08.2007 14:48:06

HighVoltage
Участник
Зарегистрирован: 17.08.2007
Сообщений: 17

Размещение таблиц и баз в ОП.

Прочитал статью про размещение таблиц в ОП
http://sqlinfo.ru/articles/info/3.html
очень понравлось - хорошо написано. Но возникло несколько вопросов.
1. Можно ли в ОП записать не Таблицу а полностью базу, не перечисляя все таблицы в данной базе?
2. Если кончится именованный кэш, то будет ли база (таблица) записываться в основной кэш, или после распределения базы(таблицы) в именованный кэш, она в основном более никогда не появится?

2-й вопрос вроде исчез сам по себе. Но для уверенности задал.
Спасибо.

Неактивен

 

#2 23.08.2007 15:24:17

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Размещение таблиц и баз в ОП.

1. такой возможности нет, необходимо перечислить все таблицы

2. если для таблицы используется именованный кэш, то в основном кэше она не кэшируется

У меня есть вопрос: нет ли для именованных кэшей аналога

Код:

show status like "key_blocks%";

Неактивен

 

#3 23.08.2007 15:26:16

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

Re: Размещение таблиц и баз в ОП.

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

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

Неактивен

 

#4 23.08.2007 15:30:36

HighVoltage
Участник
Зарегистрирован: 17.08.2007
Сообщений: 17

Re: Размещение таблиц и баз в ОП.

Спасибо.

Т.е. в 1-н именованный КЭШ я могу записать несколько таблиц причем из разных баз данных или только из 1-ой?
Это Мне интересно как вохможность. Я для каждой базы буду создавать свой КЭШ.

paulus написал:

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

Поэтому вопрос сам собою и отпал roll

Отредактированно HighVoltage (23.08.2007 15:33:07)

Неактивен

 

#5 23.08.2007 15:32:53

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

Re: Размещение таблиц и баз в ОП.

Нет, к сожалению, посмотреть состояние именованного кэша нельзя.

Неактивен

 

#6 23.08.2007 15:34:26

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

Re: Размещение таблиц и баз в ОП.

HighVoltage написал:

Т.е. в 1-н именованный КЭШ я могу записать несколько таблиц причем из разных баз данных или только из 1-ой?
Это Мне интересно как вохможность. Я для каждой базы буду создавать свой КЭШ.

Можете использовать произвольные таблицы из произвольных баз. Главное, чтобы они были MyISAM.

Неактивен

 

#7 23.08.2007 15:36:14

HighVoltage
Участник
Зарегистрирован: 17.08.2007
Сообщений: 17

Re: Размещение таблиц и баз в ОП.

Спасибо. ответили исчерпывающе.  smile

Неактивен

 

#8 23.08.2007 15:36:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Размещение таблиц и баз в ОП.

paulus написал:

Нет, к сожалению, посмотреть состояние именованного кэша нельзя.

Нельзя by-design или эта feature-request существует?

MySQL сами рекомендую использовать несколько кэшей http://dev.mysql.com/doc/refman/5.0/en/ … aches.html

Неактивен

 

#9 23.08.2007 15:41:14

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

Re: Размещение таблиц и баз в ОП.

rgbeast написал:

paulus написал:

Нет, к сожалению, посмотреть состояние именованного кэша нельзя.

Нельзя by-design или эта feature-request существует?

MySQL сами рекомендую использовать несколько кэшей http://dev.mysql.com/doc/refman/5.0/en/ … aches.html

by design можно, разумеется. Есть ли FR - не знаю smile

Неактивен

 

#10 23.08.2007 16:03:55

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Размещение таблиц и баз в ОП.

Нашел feature request: http://bugs.mysql.com/bug.php?id=24939

Workaround:
mysqladmin debug
выводит в структурированные переменные в error log

Неактивен

 

#11 24.08.2007 13:29:00

HighVoltage
Участник
Зарегистрирован: 17.08.2007
Сообщений: 17

Re: Размещение таблиц и баз в ОП.

Возникли ещё несколько вопросов))
Как вывести информацию о кэшах, имеется ввиду сколько и какого размера созданы именованные кэши?

Код:

mysql> SHOW VARIABLES LIKE 'key_buffer_size';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| key_buffer_size | 16777216 |
+-----------------+----------+
1 row in set (0.00 sec)

выводит только размер основного кэша и более ничего

И как уничтожить именованный КЭШ?
Пишут что просто присвоить КЭШу, после его инициализации нулевой размер.
http://dev.mysql.com/doc/refman/4.1/en/ … aches.html
Я именно так и делаю, но при просмотре процессов, мускул всё равно ест 300МБ которые я выделил на КЭШ, а потом удалил его.
Может что-то ФЛЭШировать надо?

Неактивен

 

#12 24.08.2007 14:40:48

HighVoltage
Участник
Зарегистрирован: 17.08.2007
Сообщений: 17

Re: Размещение таблиц и баз в ОП.

rgbeast написал:

Нашел feature request: http://bugs.mysql.com/bug.php?id=24939

Workaround:
mysqladmin debug
выводит в структурированные переменные в error log

А что кстати означают все поля. Ну частично они явно понятны а вот остальные немного непонятны =\

Код:

Buffer_size:     314572800
Block_size:           1024
Division_limit:         50
Age_limit:             300
blocks used:         70867
not flushed:             0
w_requests:              0
writes:                  0
r_requests:         601018
reads:               71706

Age_limit, not flushed, w_requests, writes, r_requests, reads ???

Неактивен

 

#13 24.08.2007 15:07:29

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

Re: Размещение таблиц и баз в ОП.

По поводу освобождения памяти - все работает:

Код:

$ ps axu | grep 'mysqld '
mysql     5220  0.0  1.6 126868 16984 ?        Sl   Aug17   0:00 /usr/sbin/mysqld (..cut..)

$ mysql
root@localhost (none) > SET GLOBAL a.key_buffer_size=300*1024*1024;
Query OK, 0 rows affected (0.09 sec)
root@localhost (none) > Bye

$ ps axu | grep 'mysqld '
mysql     5220  0.0  5.1 434072 52036 ?        Sl   Aug17   0:00 /usr/sbin/mysqld (..cut..)

$ mysql
root@localhost (none) > SET GLOBAL a.key_buffer_size=0;
Query OK, 0 rows affected (0.03 sec)
root@localhost (none) > Bye

$ ps axu | grep 'mysqld '
mysql     5220  0.0  1.6 126868 17000 ?        Sl   Aug17   0:00 /usr/sbin/mysqld (..cut..)

Age_limit - время, которое блок висит в начале горячей цепочки,
not flushed - количество не записанных на диск блоков,
w_requests - количество запросов на изменение индекса,
writes - количество записей страниц индекса на диск,
r_requests - количество запросов на чтение индекс,
reads - количество чтений страниц индекса с диска.

Неактивен

 

Board footer

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