Kisa yon index ye nan yon baz done, e ki lè pou m kreye youn?
poze 4 months ago107 gadeht
Mwen tande moun di "ajoute yon index" lè yon rekèt lan. Kisa sa ye egzakteman? Èske m ta dwe mete index sou tout kolòn yo?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
2 Repons
Yon index se tankou endèks ki nan dèyè yon liv: olye pou w li tout paj yo pou jwenn yon mo, ou gade nan endèks la epi ou ale dirèk nan bon paj la.
San index, pou WHERE imel = 'ruth@ex.ht', baz la oblije li tout liy yo ("sequential scan"). Ak yon index sou imel, li jwenn liy lan prèske imedyatman.
CREATE INDEX idx_itilizate_imel ON itilizate (imel);
Kilè pou w kreye youn: - Kolòn ou itilize souvan nan WHERE, JOIN ... ON, ORDER BY. - Kle etranje (foreign keys): PostgreSQL pa kreye index sou yo otomatikman.
Poukisa pa mete l sou tout kolòn: - Chak index pran plas sou disk. - Chak INSERT/UPDATE vin pi lan, paske baz la dwe mete tout index yo ajou.
Règ: kreye index pou rekèt ou konnen ki lan (itilize EXPLAIN ANALYZE pou verifye), pa "pou kanmenm".
Konekte pou di lòt moun si li te mache.
Yon ti detay anplis: lè w ajoute yon index sou yon gwo tab ki an pwodiksyon nan PostgreSQL, itilize CREATE INDEX CONCURRENTLY. Konsa li pa bloke ekriti yo pandan l ap kreye.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.