Задавайте вопросы, мы ответим
Вы не зашли.
Привет всем!
Стал вопрос создать огромную таблицу для прайсов товаров. Загружаются прайсы в формате CSV в эту таблицу.
Пишем, например, запрос на создание:
CREATE TABLE prices
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
nomenklatura TEXT,
coust FLOAT,
valuta CHAR(10)
PRIMARY KEY (id)
) MAX_ROWS = 100000000 AVG_ROW_LENGTH=62;
В опциях создания таб. указую: AVG_ROW_LENGTH = 62, MAX_ROWS = 100000000.
Тоисть получается 100 млн. строк и средние значение длины строки - 62 Bytes.
Вопрос: размер файла табл. сосотавит 62*100 млн. = 6,2Г. Верно?
В справочнике толком нигде не написано в чем измереется опция:AVG_ROW_LENGTH. Написано лишь что это приближенное значение средней длины строки для данной таблицы. Так это кол-во симоволов или Bytes?
Неактивен
Эти значения влияют не на размер файла, а на размер указателя,
которым адресуются строки внутри файла. Куда полезнее поиграть
с типами данных (например, избавиться от TEXT в пользу VARCHAR).
Размер строки задается в байтах, разумеется.
Неактивен
А как тогда мне создать таблицу которая местила всебе к примеру 100 млн.строк. На сервере ведь стоит ограничение в 4Г. ТОисть создать таблицу большого размера: какие опции нужно прописывать? Спасибо.
Неактивен
Ровно так. По умолчанию адресации таблицы хватает для таблиц размером до
256TB. Большинству пользователей этого значения вполне достаточно.
Неактивен
Но по умолчанию операционная система не позволяет создавать такие большие таблицы! Как быть, чтобы преодолеть ограничение в 4Г?
Неактивен
Использовать файловую систему, которая позволяет создавать большие файлы.
В голову приходит только FAT32, который не поддерживает размеры больше 4G,
современные ФС все поддерживают.
Неактивен
Еще один вопрос к Вам: планирую загружать прайсы в формате CSV. А позволяет ли MySQL загружать xls-файлы в БД? Чтобы пользователь не конвертировал xls-файл, а прямо согласно выбраной структуре (кол-во столбцов) загружал этот файл прямо в БД с помощью LOAD DATA LOCAL INFILE? Или обязательно нужно загружать только в формате CSV?
Отредактированно yuriy (22.04.2011 18:59:51)
Неактивен
Нет: xls — это закрытый формат Microsoft, его нельзя загружать.
Но можете написать какое-то приложение, которое будет экспортировать
данные. Например, через ODBC.
Неактивен