![]() |
![]() |
![]() ![]()
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 |
|
|
![]() |
![]()
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.. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 17:11 |