Datenbank Abfrage optimieren
-
Hallo Leute,
ich verwende SqlCe Um daten zu speichern.
-ZeitStempel
-Datentyp
-RowDaten
-DatenIDnun mache ich abfrage welche über eine Zeitfenster und ID Filter ausgeführt werden
Select * FROM MyTable Where ZeitStempl BETWEEN ... AND .... AND (DatenID=.. OR DatenID=... OR DatenID=..);
So abhängig des DatenID Filter ABfrage Teil wird automatisch von mir generiert. Die datenbank enthält do 400.000 Datensätze , nun dauert dementsprächend lang! Gib es ne möglichkeit das ganze zu beschleuningen??
Nen Index auf DatenID und Zeitstemple hab ich auch schon?? was würde noch gehen??
Hier der Datenbank aufbau :
string strSQL = "CREATE TABLE Archive (" + "ChronologicalID INT IDENTITY(1,1) not null," + "TagID SMALLINT," + "LogTimeOA FLOAT," + "BinaryData VARBINARY(256)," + "BinarySize SMALLINT," + "ValueTypeID SMALLINT," + "CONSTRAINT PK_Customers PRIMARY KEY (ChronologicalID));"; using (var cmd = new SqlCeCommand(strSQL, db)) { cmd.ExecuteNonQuery(); } using (var cmd = new SqlCeCommand("SET IDENTITY_INSERT Archive OFF", db)) { cmd.ExecuteNonQuery(); } using (var cmd = new SqlCeCommand("CREATE INDEX TagIDIndex ON Archive(TagID)", db)) { cmd.ExecuteNonQuery(); } using (var cmd = new SqlCeCommand("CREATE INDEX LogTimeOAIndex ON Archive(LogTimeOA)", db)) { cmd.ExecuteNonQuery(); }