Главная страница
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.017 c
1-66011
goliath
2003-11-10 10:40
2003.11.20
TreeList. ОЧЕНЬ НУЖНО !!!


1-65968
programmerts
2003-11-11 11:01
2003.11.20
РАбота с TListBox открытие файла


6-66035
Nastya
2003-09-24 11:56
2003.11.20
TClientSocket, TWinSocketStream;


8-66021
Бархатный
2003-07-24 14:42
2003.11.20
Загрузить в ImageList


7-66142
Glajik
2003-09-12 20:37
2003.11.20
Подскажите где можно найти русскую инфу по Tapi