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