exponenta event banner

Управление памятью импорта данных

Для импорта данных с помощью простых запросов можно использовать приложение Database Explorer. Для более сложных запросов и управления проблемами памяти используйте командную строку для импорта данных в рабочую область MATLAB ®. Сведения о различиях между этими двумя подходами см. в разделе Импорт данных с помощью приложения Database Explorer или командной строки.

Toolbox™ базы данных предоставляет различные способы импорта данных из базы данных в рабочую область MATLAB.

sqlread Функция

Если вы не знакомы с написанием запросов SQL, вы можете импортировать данные с помощью sqlread функция. Для импорта данных этой функции требуется только подключение к базе данных и имя таблицы базы данных. Кроме того, sqlread не требует установки настроек базы данных.

select Функция

Для экономии памяти можно импортировать данные и получить к ним доступ с помощью select функция. Эта функция позволяет сохранить память путем импорта данных с использованием типов данных, указанных в базе данных. Определения таблиц в базе данных определяют тип данных для каждого столбца. select функция сопоставляет тип данных в базе данных с соответствующим типом данных MATLAB для каждой переменной во время импорта данных. Вместо импорта каждого числового значения в виде double в MATLAB, select функция позволяет импортировать различные целочисленные типы данных. После импорта данных больше не требуется преобразовывать тип данных числового значения в определенный числовой тип. Размер памяти MATLAB, используемый целочисленными или беззнаковыми целочисленными типами данных, меньше двойной точности. Следовательно, select функция сохраняет память.

В этой таблице показаны числовые типы данных в базе данных и их эквиваленты MATLAB при использовании select функция.

Тип данных базы данныхТип данных MATLAB

SIGNED TINYINT

int8

UNSIGNED TINYINT

uint8

SIGNED SMALLINT

int16

UNSIGNED SMALLINT

uint16

SIGNED INT

int32

UNSIGNED INT

uint32

SIGNED BIGINT

int64

UNSIGNED BIGINT

uint64

REAL

single

FLOAT

single

DOUBLE

double

DECIMAL

double

NUMERIC

double

Булев

logical

Дата, время или текст

char

Например, создайте таблицу Patients с этим определением таблицы базы данных:

CREATE TABLE Patients(
    LastName VARCHAR(50),
    Gender VARCHAR(10),
    Age TINYINT,
    Location VARCHAR(300),
    Height SMALLINT,
    Weight SMALLINT,
    Smoker BIT,
    Systolic FLOAT,
    Diastolic NUMERIC,
    SelfAssessedHealthStatus VARCHAR(20))

Эти столбцы таблицы имеют числовые типы данных в базе данных:

  • Age

  • Height

  • Weight

  • Systolic

  • Diastolic

fetch по умолчанию импортирует столбцы числовых данных с двойной точностью. Тем не менее, select импортирует столбцы в соответствующий целочисленный тип данных. При импорте с помощью select соответствующие типы данных MATLAB для этих столбцов:

  • uint8

  • uint16

  • uint16

  • single

  • double

fetch функция импортирует Smoker столбец как double в MATLAB. Тем не менее, select функция импортирует Smoker столбец как logical переменная.

Для просмотра типов данных после импорта используйте select функции с помощью metadata выходной аргумент.

Определение стратегии импорта с помощью SQLImportOptions Объект

Можно настроить параметры импорта данных из базы данных в рабочую область MATLAB с помощью SQLImportOptions объект с fetch функция. select функция определяет тип данных MATLAB по умолчанию. Тем не менее, с SQLImportOptions можно определить стратегию импорта для определенных столбцов базы данных и указать тип данных MATLAB для соответствующих импортированных данных.

Кроме того, можно указать categorical, datetimeи целочисленные типы данных для импортированных данных с помощью SQLImportOptions объект. Размер памяти MATLAB, используемый для хранения этих типов данных, меньше размера памяти, используемой для альтернативных типов данных, таких как string или double.

См. также

| | |

Связанные темы