-2
JSONファイルをSQLiteデータベースにインポートしています。最初は、私はちょっと、このように見えたテーブルにJSON-オブジェクトをインポート:いくつかの理由JSONからSQLへのインポート時間が短くなる - なぜですか?
CREATE TABLE table_name (
column1 STRING,
column2 STRING,
column3 STRING,
column1 STRING,
column2 INT,
column3 STRING,
);
、それはプログラムがデータをインポートするためのloooong時間がかかった(JSONファイルがかなり大きかったです)ので、私はインポート時間を減らすための私のオプションに探していた。
CREATE TABLE table_name (
column1 NOT NULL PRIMARY KEY,
column2 NOT NULL,
column2 NULL,
column2 TEXT NULL,
column3 INT NOT NULL,
column2 NOT NULL,
);
突然、JSONのインポートに約半分の時間がかかりました。私の質問は、なぜ輸入時間が改善されたのかということです。制約は、データベースを「安全」に保つか、ビジネスロジックを定義するだけであるとは限りませんか?データベース内
あなたはどのように行を挿入されましたか? SQLiteはVARCHAR(10)をSTRINGとは異なるものとして扱いません。また、プライマリキーが既にユニークであるため、ユニークプライマリキーは冗長です。 NOT NULLを指定すると、挿入が成功する前に列の値がNULLでないことがチェックされます。あなたの報告された違いを説明するものはありません。 –
@DanD。うん、あなたは正しいので、私はVARCHAR(更新された質問、すべての列タイプを追加)を削除しました。それでも、NOT NULLなどの制約を追加してインポート時間を改善します。 – Jesper
@DanD。私は両方の例のexakt同じ行の挿入構文を行っています – Jesper