De ce optimizatorul poate alege o scanare completă în locul unui index pentru o condiție care selectează aproape toate rândurile?
Exercițiu original Grile.app pentru Baze de date (FMI, UBB Cluj-Napoca), creat cu ajutorul AI. Nu este un subiect oficial de examen. Dă un test grilă la Baze de date
- A.Indexul șterge automat rândurile nealese
- B.Costul scanării secvențiale poate fi mai mic decât accesarea multor rânduri prin index✓ Corect
- C.Un index nu poate fi folosit niciodată cu WHERE
- D.Scanarea completă este întotdeauna singura operație SQL validă
Răspuns corect: B – Costul scanării secvențiale poate fi mai mic decât accesarea multor rânduri prin index
Explicație
Utilitatea unui index depinde și de selectivitate și de costul accesului la date, nu doar de existența lui.
Sursă: Exercițiu original Grile.app, creat cu ajutorul AI pe tematica: UBB FMI · Baze de date · 2025–2026 (anul înscris în document). Nu este un subiect oficial de examen.
Material universitar de referință · Indecși și structură fizică · §8.1, cursurile 7–11, p. 3
Alte întrebări de la Baze de date
- Tabelul Inscrieri are cheia primară compusă (student_id, curs_id). Ce pereche poate apărea cel mult o dată?
- O cheie străină nenulă Comenzi.client_id referă Clienti.id. Ce inserare încalcă integritatea referențială?
- Ce constrângere SQL exprimă direct cerința ca pret să fie strict pozitiv, presupunând că pret este deja NOT NULL?
- Tabelul Note conține valorile (8), (NULL), (10) în coloana nota. Ce valori întorc COUNT(*) și COUNT(nota)?
- În Vanzari(categorie, suma), ce clauză păstrează după grupare numai categoriile cu SUM(suma) > 1000?
- Un LEFT JOIN asociază trei clienți cu comenzile lor: primul are două comenzi, al doilea una, al treilea niciuna. Câte rânduri rezultă…
- Toate întrebările și răspunsurile la Baze de date