Ich habe eine Migration von einer SQL CE-Datenbank zu einer SQLite-Datenbank (3.18.0) durchgeführt, aber ich habe eine langsame Abfrage, wenn datetime-Spalten in Select vorhanden sind.Langsam Auswählen der Abfrageausführung in Spalte Datum
Meine SQLite-Spalte, die das Datetime speichert, ist vom Typ INTEGER. Daten werden in UNIX-Epochen (Sekunden) gespeichert.
In einer Tabelle mit 15 Spalten mit 1000 Datensätzen ist meine Abfrage etwa 3 Sekunden. Die gleiche Abfrage ohne das Datum (nur Name) ist sofort.
SELECT Name,
CreatedDate
FROM [Table]
Gibt es etwas Besonderes zu Tür muss ich Daten in Text speichern?
EDIT:
Von Entity Framework, die erzeugte Abfrage ist:
SELECT
[Extent1].[VisualizationIndex] AS [VisualizationIndex],
[Extent1].[Identifier] AS [Identifier],
[Extent1].[IdentifierParent] AS [IdentifierParent],
[Extent1].[IdentifierEnvironment] AS [IdentifierEnvironment],
[Extent1].[IdentifierReference] AS [IdentifierReference],
[Extent1].[Name] AS [Name],
[Extent1].[Description] AS [Description],
[Extent1].[Type] AS [Type],
[Extent1].[Visibility] AS [Visibility],
[Extent1].[Layer] AS [Layer],
[Extent1].[Version] AS [Version],
[Extent1].[Created] AS [Created],
[Extent1].[LastModified] AS [LastModified]
FROM [CV_UsersComponents] AS [Extent1]
ORDER BY [Extent1].[Name] ASC
-- Executing at 10/31/2017 4:52:47 PM +01:00
-- Completed in 3433 ms with result: SQLiteDataReader
Ist es noch langsam, wenn Sie die Datumsspalte auswählen, aber nicht wirklich in Ihrem Code lesen? –
Ich mache die Auswahl in Visual Studio mit SQLite/SQL Server Compact-Toolbox von ErikEJ, also ist vielleicht etwas, das verlangsamt. –
Und es ist langsam SQLite mit Entity Framework 6 zu verwenden. –