![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 15.04.2004 Skąd: w-wa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w bazie mam okolo 10000 rekordów, 3 pola tabeli: id, kto, zakonczyl Jest to baza osób z oznaczeniem, czy mają aktywną usługę, czy już nie. Osoby, które mają usługę aktywną oznaczam poprzez przypisanie wartości NULL do zakonczyl, a osoby które zakończyły, poprzez wpisanie daty do zakonczyl Teraz gdybym chciał wypisać tych, którzy mają usługę aktywną użyłbym zapytania:
Wiadomo, że wartości NULL nie są indeksowane, czyli założenie indeksu na zakonczyl nic nie da. Czy da się jakoś przyspieszyć to zapytanie? żeby obronić sie przez FULL Table Scan? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
a nie mozesz sprawdzic po prostu czy data nie jest mniejsza od jakiejs wartosci ?
albo czy nie lepiej by bylo tam wpisac data=0 ? Ten post edytował ergo 10.03.2006, 11:02:28 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 15.04.2004 Skąd: w-wa Ostrzeżenie: (0%) ![]() ![]() |
Poszukuje rozwiązania dla własnie tak zbudowanej tabeli, jak to przedstawiłem.
Załóżmy, że mam to narzucone z góry i zadaniem jest zoptymalizowanie zapytania dla Takiej tabelki. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
powinno chyba starczyc ? -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 15.04.2004 Skąd: w-wa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
no i co z tego ? przeciez to co dostaniesz w wyniku bedzie takie samo , i do tego uzyje ci indeksow.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 15.04.2004 Skąd: w-wa Ostrzeżenie: (0%) ![]() ![]() |
Cytat no i co z tego ? ja chcę znaleźć tych, którzy mają wartość NULL, a podana przez Ciebie metoda tego nie rozwiązuje - pominie tych, którzy mają NULLChyba nie do końca zrozumiałeś o co chodzi Ten post edytował tmk 10.03.2006, 13:26:39 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
znajdzie, przeciez powinno ich potraktowac jakby mieli 0 ?
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 15.04.2004 Skąd: w-wa Ostrzeżenie: (0%) ![]() ![]() |
No tym się właśnie rózni Null od zera .... , że nie znajdzie.
Null = nic, a nie zero. To samo można sprawdzić na przykład korzystając z count(colX) - zlekceważy wiersze, które mają w colX NULL, ale te wiersze, które mają w colX 0, zliczy. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
załóż indeks wspólny dla id i zakończył pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 13:57 |