SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 24.06.2012 19:37:25

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

таблица MEMORY

Добрый вечер, проясните пожалуйста ситуацию по данному типу таблицы...Создал таблицу в памяти для логирования, таблица состоит и 10 столбцов и двух строк (далее по ходу процесса строк ожидается быть больше) с индексом PRIMARY KEY, так вот заполненная таблица занимает памяти 124 кб если верить клиенту (кстати это диск или ОЗУ???) , без индекса в 2 раза меньше но индекс нужен мне для ON DUPLICATE KEY...получается одна строка в такой таблицы занимает 62 кб..а если строк в дальнейшем будет 50 - 100 ? или лучше будет держать такой лог в обычным массиве или объекте  в памяти чем изпользовать данные таблицы?

Неактивен

 

#2 24.06.2012 20:41:05

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

Re: таблица MEMORY

MEMORY-таблица хранится в оперативной памяти. Откуда информация про 124 кб на 2 строчки?

Неактивен

 

#3 24.06.2012 20:53:00

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: таблица MEMORY

rgbeast написал:

Откуда информация про 124 кб на 2 строчки?

Клиент HeidiSQL выдает такую инфу рядом с таблицами...не знаю насколько она верная

Отредактированно simple (24.06.2012 20:54:47)

Неактивен

 

#4 24.06.2012 21:49:05

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

Re: таблица MEMORY

simple написал:

Клиент HeidiSQL выдает такую инфу рядом с таблицами...не знаю насколько она верная

Это похоже на информацию show table status:

mysql> show table status like 'x'\G
*************************** 1. row ***************************
           Name: x
         Engine: MEMORY
        Version: 10
     Row_format: Fixed
           Rows: 3
 Avg_row_length: 8
    Data_length: 126992
....
 


124 kb - в этом случае минимальный отображаемый размер (может быть это минимальная память под таблицу MEMORY). Оценку памяти на строчку нужно делать, вставив хотя бы 100 тысяч строк.

Неактивен

 

#5 01.07.2012 15:44:21

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: таблица MEMORY

спасибо...а скажите еще как ведет себя таблица memory при delete операциях...сразу очищает память от данных или просто помечает данные как удаленные?

Неактивен

 

#6 01.07.2012 15:51:46

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

Re: таблица MEMORY

SHOW TABLE STATUS показывает, что память при DELETE не освобождается (исключение - DELETE без WHERE и TRUNCATE)

Неактивен

 

Board footer

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