У меня есть таблица SQlite3, в которой есть столбцы без типа, как в этом примере:
CREATE TABLE foo(
Timestamp INT NOT NULL,
SensorID,
Value,
PRIMARY KEY(Timestamp, SensorID)
);
У меня есть конкретные причины не объявлять тип столбцов SensorID
и Value
.
При вставке строк с числовыми SensorID
и Value
столбцами я замечаю, что они записываются как обычный текст в файл .db
.
Когда я изменяю оператор CREATE TABLE
на ...
CREATE TABLE foo(
Timestamp INT NOT NULL,
SensorID INT,
Value REAL,
PRIMARY KEY(Timestamp, SensorID)
);
... тогда значения кажутся записанными в некотором двоичном формате в файл .db.
Поскольку мне нужно записать несколько миллионов строк в базу данных, меня беспокоит размер файла, который генерируют эти данные, и поэтому я хотел бы избежать хранения значений в виде простого текста.
Могу ли я заставить SQLite использовать двоичное представление в файле базы данных без использования явно типизированных столбцов ?
Примечание. В настоящее время строки пишутся с помощью PHP :: PDO с использованием подготовленных операторов.