Sobes.tech
Junior — Middle
91

SQL-дағы әртүрлі индекстер түрлерінің арасындағы айырмашылықтар қандай және олар сұраулардың орындалуына қалай әсер етеді?

Сұралған компаниялар
Goodforecast

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);