2016-07-12 4 views
0

Ich habe eine Sqlite-Datenbank über 1,24 GB, die ich optimieren möchte Ich mache nicht die Datenbank ist mir eine App zu machen Die Datenbank haben mehrere Index in jeder Spalte zu machen nur für die schnelle Suche gibt es keine contrains eXept einen eindeutigen Index ejSqlite-Datenbank Split-Tabelle und Suchindex in zwei Dateien

CREATE INDEX "numberF" 
ON "fix" ("number" ASC); 
CREATE INDEX "addressM" 
ON "movil" ("address" ASC); 

ohne den Index der datase ist etwa 400 Mb

ich möchte in getrennten Datei, die die indexs eine der Tabelle verteilen und weiß nicht, wenn es in sqlite möglich ist

Schema:

CREATE TABLE "movil" (
"number" TEXT NOT NULL, 
"name" TEXT, 
"identification" TEXT, 
"address" TEXT, 
"province" INTEGER, 
PRIMARY KEY ("number" ASC) 
); 

CREATE INDEX "addressM" 
ON "movil" ("address" ASC); 

CREATE INDEX "identificationM" 
ON "movil" ("identification" ASC); 

CREATE INDEX "nameM" 
ON "movil" ("name" ASC); 

CREATE INDEX "provinceM" 
ON "movil" ("province" ASC); 

CREATE UNIQUE INDEX "numberM" 
ON "movil" ("number" ASC); 
+0

Ist das der einzige Tisch? – MPelletier

+0

Nein, aber ich mache es mit dieser Tabelle –

Antwort

0

Sie können keine separaten Indizes von ihrem Tisch, müssen sie in der gleichen Datei befinden. Aber Sie können separate Dateien für jede Tabelle haben. Sie können dann wie folgt ATTACH andere zu einer Datenbankdatei verbinden:

ATTACH 'c:\data\movil.db' AS movil_db; 

Dann, wenn Sie mit ihm fertig sind:

DETACH movil_db; 

Nur vorsichtig sein, Sie die Grenze der gleichzeitig angeschlossenen Datenbanken nicht brechen . Siehe den obigen Link.