SQL-дағы әртүрлі индекстер түрлерінің арасындағы айырмашылықтар қандай және олар сұраулардың орындалуына қалай әсер етеді?
AI-дан жауап
sobes.tech AI
SQL-да әртүрлі индекстер түрлері бар, олар сұраулардың өнімділігіне және деректерді сақтау тәсілдеріне әсер етеді:
-
B-Tree индексі — ең кең таралған түрі. Жылдам іздеу, сұрыптау және диапазонды сұраулар үшін қолайлы. Индекс теңгерімді ағашта сақталады, бұл логарифмдік қол жетімділікті қамтамасыз етеді.
-
Hash индексі — дәл сәйкестік бойынша жылдам іздеу үшін пайдаланылады (мысалы,
WHERE column = value). Диапазонды сұраулар мен сұрыптауды қолдамайды. -
Bitmap индексі — төмен кардиналдылықтағы бағандар үшін тиімді (аздаған ерекше мәндер). Жылдам сүзгілеу үшін биттік карталарды пайдаланады.
-
Кластерлі (Clustered) индексі — кестедегі жолдардың физикалық тәртібін анықтайды. Әдетте, кестеде тек бір кластерлі индекс болуы мүмкін. Бұл кілт бойынша сұрыптау мен іздеуді жылдамдатады.
-
Некластерлі (Non-clustered) индексі — кілттер мен кестедегі жолдарға көрсеткіштерді қамтитын бөлек құрылым.
Сұрауларды орындауға әсері:
- Индекстер SELECT операцияларын, әсіресе іздеу шарттары мен сұрыптауға арналған операцияларды жылдамдатады.
- INSERT, UPDATE, DELETE операцияларын баяулатады, себебі индекстерді жаңарту қажет.
- Индекс түрін таңдау сұраулардың сипаты мен деректер құрылымына байланысты.
SQL Server-де B-Tree индексін жасау мысалы:
CREATE INDEX idx_customer_name ON Customers (LastName, FirstName);