Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie z uźyciem indeksu
joytec
post 25.02.2008, 15:56:12
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.06.2005

Ostrzeżenie: (0%)
-----


Witam.

mam taka tabele

CREATE TABLE 'test'(
id int not null auto_increment,
typ1 int not null default 0,
typ2 int not null efault 0,
INDEX `typ1` (`typ1`),
INDEX `typ2` (`typ2`)
);

Chcialbym uzyskac odczyt z typ1, typ2 uzyciem indexu np cos takiego : SELECT id, typ1, typ2 FROM test WHERE typ1=9 OR typ2=9. Oczywiscie w tym wypadku zapytanie nie uzyje indexu. Prosilbym o jakies sugetie. Dzieki.

aha czy uzycie UNION w tym wypadku jest wydajne?

Ten post edytował joytec 25.02.2008, 17:52:49
Go to the top of the page
+Quote Post
Grzesiek
post 29.02.2008, 19:25:40
Post #2





Grupa: Zarejestrowani
Postów: 96
Pomógł: 3
Dołączył: 15.04.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ja się słabo na tym znam, ale chyba przy Twoim zapytaniu poniższy index będzie użyty?
  1. INDEX `typ12` (`typ1`, `typ2`)


Aha, tylko, że będzie użyty tylko wtedy gdy zapytanie będzie wyglądać tak
  1. SELECT id, typ1, typ2 FROM test WHERE typ1=9 AND typ2=9


Jezeli AND zastąpić OR to znowu INDEX nie będzie użyty. dry.gif

Ten post edytował Grzesiek 29.02.2008, 19:29:23


--------------------
Linux is like wigwam, no windows, no gates and an apache inside.
Mój blog łebmasterski (po angielsku) Web Development Blog.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:42