Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: CL | DM;

Вниз

Locate - быстрее....   Найти похожие ветки 

 
SasaR   (2003-11-03 12:31) [0]

Ув. мастера - Что можно сделать с DataSetom, который вернул SQL запрос, чтобы метод Locate был быстрее ??? Попробовал отсортировать предварительно по "поисковому" полю - стало на четверть быстрее, а какие ещё предложения ???


 
Zacho ©   (2003-11-03 12:35) [1]

Выбирать поменьше записей. Кстати, в общем случае сортировка не поможет - искомая запись может находиться и в конце НД


 
SasaR   (2003-11-03 12:40) [2]


> Zacho ©

- мне пива не хватит с Вами расплатиться :))). В хелпе написано, Локате использует индекс, если он есть....
1. Можно ли предварительно "проиндексировать" возвращенный датасет ?
2. В БД заранее сделать это ?
Поможет ли для сабжа 1 и/или 2 ?
Если да, то как сделать 1-е ?


 
Zacho ©   (2003-11-03 12:49) [3]


> SasaR (03.11.03 12:40) [2]

> В хелпе написано,
> Локате использует индекс, если он есть....

Это справедливо для файл-серверных БД. IB - SQL-сервер, в клиентском приложении никаких индексов нет, Locate работает перебором всех записей.

> 1. Можно ли предварительно "проиндексировать" возвращенный
> датасет ?

Можно. И написать свой Locate. И тянуть с сервера кроме данных еще и индексы. В общем случае - овчинка выделки не стоит. Пересматривай организацию своего приложения. Запросы должны возвращать несколько десятков (в крайнем случае - сотен) записей. Пользователю больше и не нужно, все равно человек не может нормально работать с гридом с тысячью записей. Конечно, не считая таких ситуаций, как, например, построение отчетов, для к-рых могут понадобится и десятки тысяч записей. Но тут уже ничего не поделаешь.


 
Romkin ©   (2003-11-03 12:53) [4]

Это во-первых :) Во-вторых, в D5 в хелпе не написано что locate использует индекс. В отличие от D4 - не использует :)


 
VAleksey ©   (2003-11-03 12:53) [5]

Select * From Table
Where
MyId = :pMyId
Union all
Select * From Table
Where
MyId <> :pMyId

PS
Идея ясна?
Т.е. нужная тебе запись будет первой.


 
Vlad ©   (2003-11-03 12:59) [6]

>VAleksey © (03.11.03 12:53) [5]
Конечно вариант, но только есть шанс сбить с толку пользователя.
Напр. в случае, когда набор отражается в DBGrid.


 
VAleksey ©   (2003-11-03 14:01) [7]


> Vlad © (03.11.03 12:59)

И в чем опасность?



Страницы: 1 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-66059
Gluk_3_Final
2003-10-28 17:06
2003.11.20
Зацените, скоро раздел новый будет


1-65993
Mouse
2003-11-10 15:38
2003.11.20
Как отучить TreeView менять у выделенного Node ImageIndex


14-66067
Думкин
2003-10-30 04:56
2003.11.20
С днем рождения! 30 октября.


4-66176
bar
2003-09-24 15:08
2003.11.20
Можно ли в RichView вставить кнопку


3-65799
Sam Stone
2003-10-28 16:29
2003.11.20
Работа с query