Таблица Memory.

Buldozer

Новичок
Таблица Memory.

Сменил тип таблицы с MyISAM на MEMORY, при импорте данных в таблицу получаю ошибку:
ERROR 1114 (HY000): The table 'orders_cache' is full

Т.е. как я понимаю ему не хватает памяти чтобы записать все данные.
Сама таблица не большая, по крайней мере в MyISAM выглядит так:
# ls -la | grep orders_cache
-rw-rw---- 1 mysql mysql 8854 Sep 29 01:13 orders_cache.frm
-rw-rw---- 1 mysql mysql 17416864 Sep 29 01:16 orders_cache.MYD
-rw-rw---- 1 mysql mysql 44935168 Sep 29 01:16 orders_cache.MYI

Нашел только tmp_table_size и max_heap_table_size - пробовал их менять, на проблеме никак не отразилось. Подскажите, как решить эту ситуацию.
 

Gas

может по одной?
Значит ещё крутить max_heap_table_size.
О чём по ссылке и написано, можешь заодно подсчитать до какого значения нужно увеличивать (формула в конце станицы)
 

Buldozer

Новичок
max_heap_table_size тоже не дало результата

дело в том, что я увеличил max_heap_table_size и tmp_table_size в 1000 раз, а кол-во строк которые смогли заполнится не изменилось, т.е. где-то в другом проблема получается.

(формула в конце станицы)
Подскажите пожалуйста, вот эту часть: - "ALIGN(length_of_row+1, sizeof(char*))". Не понял, что здесь считать нужно.

-~{}~ 29.09.07 10:43:

вот например:

PHP:
mysql> describe orders_cache;
+-------------+---------------------+------+-----+---------+-------+
| Field       | Type                | Null | Key | Default | Extra |
+-------------+---------------------+------+-----+---------+-------+
| user_id     | int(10) unsigned    | NO   | MUL |         |       |
| customer_id | int(10) unsigned    | NO   | MUL |         |       |
| order_id    | int(10) unsigned    | NO   | MUL |         |       |
| geo         | tinyint(3) unsigned | NO   | MUL |         |       |
| cat         | tinyint(3) unsigned | NO   | MUL |         |       |
| tis         | int(10) unsigned    | NO   | MUL |         |       |
| pr          | tinyint(3) unsigned | NO   | MUL |         |       |
| queue       | int(11)             | NO   | MUL |         |       |
| sns         | int(10) unsigned    | NO   |     |         |       |
| balance     | int(11)             | NO   | MUL |         |       |
+-------------+---------------------+------+-----+---------+-------+

mysql> show index from orders_cache;
+--------------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table        | Non_unique | Key_name    | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+--------------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| orders_cache |          1 | user_id     |            1 | user_id     | A         |        2320 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | customer_id |            1 | customer_id | A         |        9619 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | order_id    |            1 | order_id    | A         |      529077 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | geo         |            1 | geo         | A         |           4 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | cat         |            1 | cat         | A         |          16 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | tis         |            1 | tis         | A         |           4 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | pr          |            1 | pr          | A         |           9 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | queue       |            1 | queue       | A         |        2699 |     NULL | NULL   |      | BTREE      |         |
| orders_cache |          1 | balance     |            1 | balance     | A         |        2251 |     NULL | NULL   |      | BTREE      |         |
+--------------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
9 rows in set (0.00 sec)
для user_id размер будет равен 2*(11+8*4)+12=98 байт?

-~{}~ 29.09.07 19:10:

с "The table is full" проблема была, что после удаления этой таблицы max_heap_table_size почему-то сбрасывался на дефолтный, так что тут разрешилось.

Подскажите, верно по формуле считаю?
 
Сверху