База данных PostgreSQL в частности или любая другая база данных в целом может содержать несколько таблиц. Эти таблицы состоят из разных столбцов или атрибутов, по которым хранятся разные строки или записи. Таким образом, данные сохраняются в базе данных. Индексируя столбец в PostgreSQL, мы, по сути, имеем в виду создание структуры данных, с помощью которой мы можем гораздо более эффективно ссылаться на значения этого столбца, вместо того, чтобы просматривать все значения этого столбца вручную. В этой статье мы сначала обсудим необходимость индексации столбца в PostgreSQL в Windows 10, а затем расскажем, как это сделать.
- Необходимость индексирования столбца в PostgreSQL в Windows 10
- Метод индексации столбца в PostgreSQL в Windows 10
- Шаг 1: Запуск командной строки Windows 10
- Шаг 2: Вход в среду PostgreSQL через командную строку Windows 10
- Шаг 3: Создайте новую таблицу в PostgreSQL в Windows 10
- Шаг 4: Проверка, существует ли недавно созданная таблица в вашей текущей базе данных или нет
- Шаг 5: Вставка некоторых записей в только что созданную таблицу
- Шаг 6: Просмотр недавно заполненной таблицы
- Шаг 7: Выполнение тестового запроса к вновь созданной таблице
- Шаг 8: просмотрите план запроса для только что выполненного запроса
- Шаг 9: Создание индекса для столбца созданной таблицы
- Шаг 10: Список всех индексов желаемой таблицы
- Удаление индекса из столбца в PostgreSQL в Windows 10
- Заключение
Необходимость индексирования столбца в PostgreSQL в Windows 10
Мы уже упоминали, что индексация столбца делает процесс поиска в этом столбце более быстрым и эффективным. Однако, помимо этого, мы рассмотрим здесь очень простой пример, который обосновывает необходимость индексации столбца в таблице в PostgreSQL.
Предположим, у нас есть таблица с названием «сотрудник». В этой таблице есть два разных столбца, а именно «Имя» и «Номер», которые соответствуют имени и номеру сотрудника соответственно. Также в этой таблице содержится 1000 записей о разных сотрудниках. Теперь мы хотим выполнить запрос, который вернет запись с конкретным номером сотрудника.
В этом случае наш запрос должен будет искать весь столбец «Число» в таблице «Сотрудник», пока не найдет указанное число в выполненном запросе. Только тогда он сможет отобразить желаемую запись. Этот процесс довольно длительный и трудоемкий.
Поэтому мы можем попробовать проиндексировать столбец «Число», чтобы вместо последовательного поиска всего столбца можно было очень эффективно выполнять поиск по указанному номеру в запросе. Однако этот вид индексации столбцов не подходит для очень маленьких таблиц, т. Е. Таблиц с несколькими записями, потому что это только увеличивает потребление ресурсов.
Метод индексации столбца в PostgreSQL в Windows 10
Если вы хотите проиндексировать любой желаемый столбец таблицы в базе данных PostgreSQL в Windows 10, вам придется выполнить пошаговую процедуру, описанную ниже:
Шаг 1: Запуск командной строки Windows 10
Мы получим доступ к среде PostgreSQL через командную строку Windows 10, для которой нам нужно сначала запустить ее. Вы можете увидеть следующее изображение, чтобы узнать, как запустить командную строку Windows 10.
Шаг 2: Вход в среду PostgreSQL через командную строку Windows 10
После открытия командной строки вы можете войти в среду PostgreSQL, выполнив команду, показанную ниже:
> psql –U postgres
После выполнения этой команды вам будет предложено ввести пароль для указанного пользователя, как показано на следующем изображении:
Как только вы предоставите этот пароль, вы войдете в среду PostgreSQL через командную строку Windows 10.
Шаг 3: Создайте новую таблицу в PostgreSQL в Windows 10
Теперь мы создадим новую таблицу, чтобы мы могли проиндексировать один из ее столбцов в Windows 10. Таблицу в PostgreSQL можно создать с помощью запроса, показанного ниже:
# CREATE TABLE employee (emp_ID serial PRIMARY KEY, emp_Name VARCHAR (255) NOT NULL, emp_Number VARCHAR (255) NOT NULL);
Этот запрос создаст таблицу с именем «employee» в текущей базе данных PostgreSQL с тремя столбцами, а именно «emp_ID, emp_Name и emp_Number» соответственно.
Успешное выполнение этого запроса будет подтверждено, как только мы получим ответ «CREATE TABLE» на нашей консоли, как показано на следующем изображении:
Шаг 4: Проверка, существует ли недавно созданная таблица в вашей текущей базе данных или нет
Когда наша новая таблица создана, мы можем проверить ее существование, выполнив команду, показанную ниже:
# \dt
Эта команда попытается отобразить все таблицы, существующие в текущей базе данных. В списке этих таблиц вы также сможете увидеть нашу недавно созданную таблицу «сотрудников», как показано на следующем изображении:
Шаг 5: Вставка некоторых записей в только что созданную таблицу
Теперь мы вставим несколько примеров записей в эту недавно созданную таблицу. Запись в эту таблицу можно добавить с помощью запроса, показанного ниже:
# insert into employee values(1,’Aqsa’,’12345’);
Когда эта запись будет успешно добавлена в таблицу «employee», вы увидите следующее сообщение об успешном завершении на вашей консоли:
Таким же образом мы добавим несколько записей в таблицу «employee», как показано на изображении ниже:
Шаг 6: Просмотр недавно заполненной таблицы
После заполнения нашей таблицы «сотрудников» мы можем просмотреть ее, выполнив следующий добавленный запрос:
# select * from employee;
Этот запрос отобразит все записи таблицы «служащих» на консоли, как показано на изображении ниже:
Шаг 7: Выполнение тестового запроса к вновь созданной таблице
Теперь мы запустим тестовый запрос к вновь созданной таблице для отображения записи с определенным номером. Этот запрос выглядит следующим образом:
# select * from employee where emp_Number=’24943’;
Этот запрос мгновенно отобразит выбранную запись, как показано на изображении ниже:
Шаг 8: просмотрите план запроса для только что выполненного запроса
Хотя вышеупомянутый запрос был выполнен успешно, однако для вывода желаемого результата на консоль. Весь столбец emp_Number таблицы «employee» должен был быть просмотрен последовательно. Вы можете проверить это, выполнив следующий запрос, чтобы отобразить план запроса:
# explain select * from employee where emp_Number=’24943’;
На изображении ниже видно, что указанный запрос был выполнен путем последовательного поиска в столбце emp_Number таблицы «employee». Последовательный поиск не подходит для таблиц с большим количеством записей. Для решения этой проблемы мы попытаемся проиндексировать столбец emp_Number, выполнив следующий шаг.
Шаг 9: Создание индекса для столбца созданной таблицы
Чтобы создать индекс для столбца таблицы в PostgreSQL в Windows 10, вы можете выполнить следующий запрос:
# CREATE INDEX index_emp_Number ON employee(emp_Number);
Этот запрос создаст индекс с именем «index_emp_Number» для столбца «emp_Number» таблицы «employee». Успешное выполнение этого запроса приведет к сообщению об успешном выполнении, показанному ниже:
Шаг 10: Список всех индексов желаемой таблицы
Теперь, чтобы проверить, был ли указанный индекс создан или нет, вы можете выполнить следующую команду:
# \d employee
Результат, показанный на изображении ниже, выделил только что созданный индекс.
Удаление индекса из столбца в PostgreSQL в Windows 10
Если вы хотите удалить индекс из столбца таблицы в PostgreSQL в Windows 10, вы можете выполнить следующий запрос:
# DROP INDEX index_emp_Number;
Когда указанный индекс будет успешно удален, вы получите ответ DROP INDEX на консоли, как показано на изображении ниже:
Заключение
Прочитав все шаги метода, описанного в этой статье, вы сможете очень быстро понять, как индексирование столбцов работает в PostgreSQL в Windows 10. Узнав об этом, вы сможете индексировать столько столбцов ваших таблиц в PostgreSQL. как пожелаете.