Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1B)SELECT * FROM employees WHERE employee_id = 130
- a) nie stosuje indeksu, przegląda całość
- b) 1
- c) 3
- 1C) ALTER TABLE employees ADD CONSTRAINT hehe PRIMARY KEY(employee_id);
- 1D)SELECT * FROM employees WHERE employee_id = 130
- a) Poprzez index, unikalne skanowanie
- b) 1
- c) 1
- 1E) SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 170;
- a)nie widać użycia indeksu. Indeks widac przy 71 lub mniej. Wychodzi 66%.
- b) 107
- C) 3
- 2D) CREATE UNIQUE INDEX nazwa ON employees(department_id) - ŹLE
- a)CREATE INDEX emp_dept_idx ON employees(department_id) - gucci
- b) SELECT * from employees WHERE department_id=90 , używa indexu
- SELECT * from employees WHERE department_id=50
- dla wszystkich id range scan rozne koszty i kardynalnosci
- 3)
- a) CREATE INDEX emp_lname_idx ON employees(last_name)
- b) SELECT * FROM employees WHERE last_name like 'Urman';
- a) plan wykonania - indeks
- b) kardynalność 1, koszt - 2
- c) SELECT * FROM employees WHERE last_name like 'Ur%';
- plan wykonania taki sam jak wyżej
- d) SELECT * FROM employees WHERE last_name like '%man';
- plan wykonania - przegląda całość
- e) kardynalność 2, koszt 2
- 4)
- a) CREATE INDEX emp_job_idx ON employees(job_id)
- b) SELECT * FROM employees WHERE department_id = 90 AND job_id LIKE 'AD_VP'
- a,b) wykorzystany został emp_job_idx, ponieważ ma mniejszy koszt. Wymuszenie emp_dept_idx powoduje większy koszt (3 zamiast 2)
- c) tak samo jak wyżej
- D) nie potrzebuje dwóch indexów, w przypadku takich samych kosztów wybiera jeden
- 5)
- a) CREATE INDEX emp_dept_job_idx ON employees(department_id, job_id)
- b) SELECT * FROM employees WHERE department_id = 90 AND job_id LIKE 'AD_VP'
- Został wykorzystany indeks dwukolumnowy, lepsza selektywność
- 6) SELECT * FROM user_indexes
- a) nie
- b)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement