WilliTheSmith
Lt. Commander
- Registriert
- Dez. 2008
- Beiträge
- 1.304
Hallo,
für ein kleines Software-Projekt brauche ich eine Datenbank. Meine Wahl viel aus mehreren Gründen auf SQLite. Nachdem ich mich nun etwas in der Dokumentation des Projekts umgeschaut habe, habe ich ein Paar Fragen:
1. Ist es richtig, das ich einen Primärschlüssel nicht "unsigned" machen kann? Gibt es unsigned in SQLite überhaupt?
2. Ist es möglich, Fremdschlüssel standardmäßig aktiviert zu lassen? Nach jedem Verbindungsaufbau erstmal "PRAGMA foreign_keys = ON;" auszuführen ist nämlich etwas nervig.
Und zu guter letzt würde mich noch interessieren, ob jemand von euch Erfahrungen mit der Volltextsuche(FTS3/4) von SQLite hat. Ich habe nämlich eine Tabelle, die etwa 23000 Datensätze enthalten wird und in denen ich über mehrere Spalten (nicht alle) suchen möchte. Die meisten Spalten enthalten nur wenige Wörter, doch eine enthält pro Datensatz etwa 1000 Zeichen. Sollte meines Erachtens kein Problem sein.
Ich frage mich jedoch, ob diese "virtuelle Tabelle" irgendwelche Auswirkungen auf Joins mit echten Tabellen oder andere Select-Anweisungen hat.
Ist sowas wie
ohne großartigen Performanceverlust möglich?
Gibt es andere Nachteile?
Ich freue mich auf eure Antworten und vielleicht auch kleine Erfahrungsberichte.
Gruß
für ein kleines Software-Projekt brauche ich eine Datenbank. Meine Wahl viel aus mehreren Gründen auf SQLite. Nachdem ich mich nun etwas in der Dokumentation des Projekts umgeschaut habe, habe ich ein Paar Fragen:
1. Ist es richtig, das ich einen Primärschlüssel nicht "unsigned" machen kann? Gibt es unsigned in SQLite überhaupt?
2. Ist es möglich, Fremdschlüssel standardmäßig aktiviert zu lassen? Nach jedem Verbindungsaufbau erstmal "PRAGMA foreign_keys = ON;" auszuführen ist nämlich etwas nervig.
Und zu guter letzt würde mich noch interessieren, ob jemand von euch Erfahrungen mit der Volltextsuche(FTS3/4) von SQLite hat. Ich habe nämlich eine Tabelle, die etwa 23000 Datensätze enthalten wird und in denen ich über mehrere Spalten (nicht alle) suchen möchte. Die meisten Spalten enthalten nur wenige Wörter, doch eine enthält pro Datensatz etwa 1000 Zeichen. Sollte meines Erachtens kein Problem sein.
Ich frage mich jedoch, ob diese "virtuelle Tabelle" irgendwelche Auswirkungen auf Joins mit echten Tabellen oder andere Select-Anweisungen hat.
Ist sowas wie
Code:
SELECT * FROM table WHERE (col BETWEEN 200 AND 300) OR (othercol BETWEEN 700 AND 8000);
Gibt es andere Nachteile?
Ich freue mich auf eure Antworten und vielleicht auch kleine Erfahrungsberichte.
Gruß