Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2012, 16:16   #1
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
Вопрос SQL Ускорить Поиск

Здравствуйте! У меня есть таблица которая содержит < 100000 записей, и мне нужно ускорить поиск желательно по маске(Like), но можно и полнотекстовым методом. Как это сделать?

Таблица примерно так выглядит:
Идентификатор | Имя | Фамилия | Отчество | Телефон | Страна | Город |

Мне нужно искать не только по одной колонке
Код:
Select * From DB Where Имя=test
а по множеству колонок

Код:
Select * From DB Where Имя=test And Фамилия = test2 And Отчество=test3
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 15.07.2012, 16:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что за СУБД? Могучие и тяжелые имеют модуль полнотекстового поиска, можно попробовать и для like составить индексацию.
Цитата:
Where Имя=test
Если не по Like то создавай обычный индекс по этому полю.
Цитата:
Where Имя=test And Фамилия = test2 And Отчество=test3
А здесь можно составной, сразу по трем полям.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.07.2012, 13:10   #3
Uniskull
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Цитата:
Что за СУБД?
MSSQL CE

Цитата:
составить индексацию
Это как?
Компьютерный форум - World-PC.NET
Uniskull вне форума Ответить с цитированием
Старый 19.07.2012, 17:15   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

почитайте про create index. Индексировать надо поле, по которому осуществляется поиск. Правда читала, что если постоянно необходимо изменять значение этого поля индексация сказывается отрицательно
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 19.07.2012, 17:43   #5
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Цитата:
Сообщение от Sparky
Правда читала, что если постоянно необходимо изменять значение этого поля индексация сказывается отрицательно
Разбалансировка индекса это называется

Ссылка по теме
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть

Последний раз редактировалось Stilet; 19.07.2012 в 19:54.
Петррр вне форума Ответить с цитированием
Старый 20.07.2012, 00:19   #6
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

database tuning advisor кнопочка есть в Mssql managment студии которая занимает в частности оптимизацией индекса по запросу можно ее нажать

кстати если будете использовать like %smt% то индекс как я понимаю особо профита не даст. ускорить не получиться, постарайтесь перестроить запрос и таблицы

Последний раз редактировалось Stilet; 20.07.2012 в 17:04.
Reskov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Поиск из Edit IgoreKMaN БД в Delphi 14 07.05.2012 12:18
Поиск по БД SQL Plexdeath БД в Delphi 3 30.03.2011 11:48
Поиск SQL запрос ANT35 Помощь студентам 1 28.04.2010 00:03
SQL поиск! t1mer Помощь студентам 3 01.04.2010 21:23
SQL-запрос на поиск LANDER БД в Delphi 13 04.06.2009 07:00