Hirdetés

2024. május 3., péntek

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)

Hozzászólások

(#5036) Taci válasza nyunyu (#5035) üzenetére


Taci
addikt

Köszönöm a tippet.

Ezt a leírást találtam róla: [link]

Note: Updating a table with indexes takes more time than updating a table without (because the indexes also need an update). So, only create indexes on columns that will be frequently searched against.

Van ilyen lekérdezésem is:
SELECT * FROM table
WHERE channel_id 
IN ('id1','id2','id3','id4') 
AND 
(category LIKE '%category1%' 
OR category LIKE '%category2%'
OR category LIKE '%category3%' 
OR category LIKE '%category4%' 
OR category LIKE '%category5%' 
OR category LIKE '%category6%') 
AND 
(category NOT LIKE '%category7%' 
AND category NOT LIKE '%category8%' 
AND category NOT LIKE '%category9%')
ORDER BY date DESC LIMIT 4

Ez alapján akkor ezeket a mezőket (channel_id, category) is indexelni kellene, mert végülis ugyanolyan gyakran vannak használva?
Látok a link alatt olyat is, hogy lehet indexet mezők kombinációjára is beállítani. A fenti példám alapján hogy lenne jobb? Index külön a mezőkre? Index ezek kombinációjára? Vagy is-is?

És ezt a CREATE INDEX-et csak egyszer kell mezőnként futtatni, és onnan "rendben van"? Azért kérdezem, mert próbálok mindent automatizálni, hogy ne kelljen figyelni rá, ha nem muszáj, és ha ez is olyan, amit többször kell meghívni, akkor erre is figyelnem kell.

Bocsánat a sok kérdésért és értetlenkedésért, csak erről most hallok először, és fontosnak tűnik, nem szeretnék hibázni vele.

Köszönöm.

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.