![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск в Access e [D5, Access]
Данила © (2003-10-08 15:21:00)
Приветы.
Использую ADOQuery для поиска в таблице.
Запрос простейший. Записей в таблице не много - около 90,000.
Но ищет очень долго... секунд 7. База локальною
В чем могут быть траблы ?
Vlad (2003-10-09 16:05:00) [1]
Попробуй перестроить индекс по полю client.
Вобще-то должно работать мгновенно.
Danilka (2003-10-09 16:00:00) [2]
[8] handra © (09.10.03 15:56)
Кто не использует, аццесс? Тогда мне его жаль.
Орокол, например, вот-так: LIKE "Иванов%" использует.
Думаю, ИБ тоже использует, только нет его сейчас под рукой.
Вот-так: LIKE "%Иванов%" конечно, индексы невозможно использовать.
Vlad (2003-10-09 15:59:00) [3]
>handra © (09.10.03 15:56) [8]
like использует индексы
handra (2003-10-09 15:56:00) [4]
like НЕ ИСПОЛЬЗУЕТ индексы
Danilka (2003-10-09 13:47:00) [5]
[6] Данила (09.10.03 13:45)
Индекс по полю client точно есть?
А в аццессе можно план запроса посмотреть?
Данила (2003-10-09 13:45:00) [6]
Поробовал ради интереса, но результат по времени тот-же, как это не странно :( Даже если строго client = "Иванов А А" все равно долго :(
Danilka (2003-10-09 13:41:00) [7]
если известно, что начинается всегда с фамилии и сделаешь вот-так: LIKE "Иванов%", то тогда индекс по полю client будет использоваться.
Danilka (2003-10-09 13:37:00) [8]
[3] Данила (09.10.03 13:20)
когда есть вот это:LIKE "%...
поиск идет прямым перебором, без участия индексов
Данила (2003-10-09 13:20:00) [9]
Итакс :)
В таблице порядка 90. тыс. записей.
Поиск ведется по 3 полям, все они проиндексированы :)
Запросы типа:
SELECT client, phone, adress FROM parma WHERE client LIKE "%Иванов%";
RoadStar (2003-10-08 16:33:00) [10]
Шо за запрос?
sniknik (2003-10-08 15:28:00) [11]
во всем. (начиная с графика приливов и отливов в Антарктиде ;о))