Всем привет! Столкнулся с такой задачей: Создать тестовую таблицу для проверки работы индекса. Используя цикл заполнить таблицу 5 тысячами записей. Убедиться, что записи действительно созданы. Выполнить к таблице запрос, в условии которого есть неиндексированное поле. Построить индекс для этого поля и повторить запрос, убедиться, что индекс ускоряет выполнение запроса. С первой части я справился:Код |
CREATE TABLE TABL (ID NUMBER NOT NULL, NAME VARCHAR2(1000 CHAR));
SET SERVEROUTPUT ON DECLARE N NUMBER := 1; BEGIN LOOP INSERT INTO TABL VALUES (N,DBMS_RANDOM.STRING('p',TRUNC(DBMS_RANDOM.VALUE(1,1000)))); N:=N+1; EXIT WHEN (N>5000); END LOOP; END; /
SELECT TO_CHAR(SYSTIMESTAMP,'HH24:MI:SS.FF') FROM DUAL; SELECT COUNT(*) FROM TABL WHERE NAME LIKE '%WO%'; SELECT TO_CHAR(SYSTIMESTAMP,'HH24:MI:SS.FF') FROM DUAL;
|
Помогите со второй частью а именно: Построить индекс для этого поля. И как вообще индекс работает? |