[SQLite] indexowanie + typ DATE

0

Witam,

mam w bazie danych tabelę, która między innymi posiada kolumnę z typem DATE. Rekordy będą wyszukiwane najczęściej właśnie wg daty. I tu mam problem. Wyczytałem, że nie można deklarować kolumny jako PRIMARY KEY jeśli wartości będą się w niej powtarzały, a chcę przyspieszyć wyszukiwanie wg daty. Jak to zrobić?

0

Załóż index.

0

Możesz dokładniej wytłumaczyć? jeszcze raczkuje w bazach danych. (btw. wpadłem na pomysł żeby zmienić typ date na long i date w milisekundach zapisywac, ale to chyba za dużo pamieci zje... co o tym myslicie?)

0

Tutaj masz artykuł na temat optymalizacji bazy SQLite. Zwróć uwagę na punkt 4.
http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html

0
  1. zostaw typ pola jaki jest.
  2. primary key nie może być na polu, gdzie wartość się powtarza - wartość w tym polu musi być unikalna
  3. do takich rzeczy jak Twoja służą właśnie indeksy (zwykłe, nie unikalne). Zakłada się go pisząc coś takiego
CREATE INDEX nazwa_indexu ON nazwa_tabeli (nazwa_pola)

możesz też założyć indeks na kilku polach, wtedy w nawiasie podaje się listę pól oddzieloną przecinkami. Reszta w guglu :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1