Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 56

Добавление индексов в таблицу

30.11.2022, 11:47. Показов 507. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте, я делаю таблицу с ФИО(в ней допустим 16м записей) к этой таблице задаются like запросы (условно пользователь хочет найти человека с именем на "а", фамилией на "б", отчеством на "ц"), как в данном случае я могу ускорить данный запрос
при помощи индексов
таблица:
T-SQL
1
2
3
4
5
6
7
CREATE TABLE Persons
(
    ID bigint not null identity(1,1)primary key,
    Name nvarchar(20) not null,
    Surname nvarchar(20) not null,
    Patronymic nvarchar(20)
)
Процедура с запросом:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
create procedure SelectSerchedPersons
   @Name nvarchar(20),
   @Surname nvarchar(20),
   @Patronymic nvarchar(20)
as
select Persons.Id, Persons.Name, Persons.Surname, Persons.Patronymic
  FROM Persons
  where 
  Persons.Name like @Name + '%' and 
  Persons.Surname like @Surname + '%' and 
  Persons.Patronymic like @Patronymic + '%' and
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2022, 11:47
Ответы с готовыми решениями:

Добавление поля в таблицу через запрос на добавление
Здравствуйте, подскажите как создать запрос, чтобы к таблице добавить еще одно поле. Поля, не записи. Тип запроса Добавление....

Добавление новой записи в таблицу и осуществление запроса на добавление при загрузке формы
Здравствуйте. Есть одна просьба, подскажите как сделать или пример кода покажите на вот такую фишку, при открытии формы для ввода данных в...

Построить поле, таблицу индексов и порядков
Задание: Построить поле {F}_{q} = {F}_{p}/(h), построить таблицу идексов и порядков {F}_{q}. Дано: p - простое число, h \in {F}_{p} -...

6
668 / 291 / 120
Регистрация: 12.04.2022
Сообщений: 1,000
30.11.2022, 11:57
T-SQL
1
create index idx on Person (Name,Surname,Patronymic)
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 56
30.11.2022, 12:00  [ТС]
Если не сложно можешь объяснить как это работает программно?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
30.11.2022, 12:28
MatBeyKa, нужены индексы по каждому столбцу отдельно.
Тогда есть надежда, что оптимизатор выберет index interception
В крайнем случае, index interception можно сделать вручную.

Добавлено через 1 минуту
Я бы посмотрел в сторону full-text поиска
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 56
30.11.2022, 12:30  [ТС]
invm, я тоже дума на счет фултекст но думаю так будет удобнее для пользователя
0
668 / 291 / 120
Регистрация: 12.04.2022
Сообщений: 1,000
30.11.2022, 13:02
Цитата Сообщение от MatBeyKa Посмотреть сообщение
Если не сложно можешь объяснить как это работает программно?
По левому полю (Name) сервер найдёт значения (интервал) в индексе (например Name like 'AB%'), далее просканирует индекс по этому интервалу для поиска совпадений Surname, Patronymic.
После чего извлечёт из индекса

T-SQL
1
Persons.Id, Persons.Name, Persons.Surname, Persons.Patronymic
и не будет заморачиваться с KeyLookUp-ом.
0
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
30.11.2022, 14:14
Цитата Сообщение от invm Посмотреть сообщение
MatBeyKa, нужены индексы по каждому столбцу отдельно.
Тогда есть надежда, что оптимизатор выберет index interception
В крайнем случае, index interception можно сделать вручную.
Но, думаю, покрывающие, иначе оптимизатор на них, скорее всего забьет.
https://www.brentozar.com/arch... ersection/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2022, 14:14
Помогаю со студенческими работами здесь

Добавление записей в таблицу и связанную с ней таблицу, с учётом связи
Имеются 3 таблицы: кабинет id_cab n_cab устройства ...

Добавление товара и добавление отчета в таблицу
Нужна помощь. Нужно в после обновления, добавить данные в другую базу данных (для отчета) $query = "UPDATE stati SET koll='$koll'...

Найти произведение индексов строк и сумму индексов столбцов для элементов матрицы, больших семи
1 задача Ввести двумерный массив A 3×4 . Найти произведение индексов строк и сумму индексов столбцов для элементов массива...

Добавление в таблицу
Как правильно сделать добавление в таблицу, при этом что бы добавление проходило в выбранную таблицу? Т.е. если пользователь в выпадающем...

Добавление в таблицу
Добавление ведется из модальной формы2 в стринггрид формы1, вроде код нормальный проверял по подобным задачам в литературе но прога не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru