Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Mechanizm bazy danych
adam882
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Witam!

Mam dwa pytania:

1. Słyszałem, że mechanizm InnoDB domyślnie posiada indeksy (nie wiem czy to prawda). Czy zatem w przypadku używania tego mechanizmu nie trzeba tak, jak ma to miejsce w MyISAM dodawać indeksy na kolumny, które są często wyszukiwane?

2. Mam na swojej stronie zapytanie typu SELECT, gdzie w trakcie pobierania danych z tabeli występuje nawet 50 razy odniesienie do WHERE.
np. SELECT * FROM tabela WHERE nazwa="slowo1" OR nazwa="slowo2" (...) OR nazwa="slowo50"
W związku z tym chciałbym się zapytać, czy w tym przypadku warto pozostać przy mechanizmie MyISAM z indeksem na kolumnę "nazwa" ?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Ad1. auto indexy? Pierwszy raz o czymś takim słyszę, bez różnicy dla jakiego silnika.. Indeksy wszędzie się zakłada samemu. Skąd baza miałaby wiedzieć co indeksować a co nie?

Ad2. zamiast where OR, poczytaj o where IN, które jest 2-3 razy szybsze. Również poczytaj czy faktycznie potrzebujesz przeszukać bazę pod kontem 50 różnych wartości..
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 17:11