Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Индексы в Local SQL [D6, dBase, FoxPro]


Эдик ©   (2004-06-24 15:58:00) 

Подскажите пож. можно ли в BDE для локального SQL использовать индексы и как (если можно)...
Создаю индексы, выбираю по индексному полю, но время выборки не меняется  :-((


Sandman25   (2004-06-25 16:56:00) [1]

Тогда чтобы пользователя не травмировать :)


Эдик   (2004-06-25 16:52:00) [2]

а если все локально?  :-))


Sandman25   (2004-06-25 16:48:00) [3]

>Это ограничения такие?

ага. ограничения сетки. чтобы не закачивали по 100000 записей сразу


Эдик   (2004-06-25 16:39:00) [4]

Действительно, в таком случае подключаються... а почему в придыдущих примерах не срабатывало? Это ограничения такие?
Тогда переходим на Fox  :-))


Anatoly Podgoretsky   (2004-06-25 12:00:00) [5]

Эдик   (25.06.04 11:21) [11]
Уменьшить число 5000 до одного select * from table1 where kod = 1


Sandman25   (2004-06-25 11:53:00) [6]

[13] Эдик   (25.06.04 11:51)

select * from table1 where kod = 1

Если сработает за доли секунды, значит, подключились


Эдик   (2004-06-25 11:51:00) [7]

Согласен, бред, я сделал выборку для того, чтоб проверить, будут ли индексы подключаться... и не более того.
Индексы не подключились   :-((


Sandman25   (2004-06-25 11:27:00) [8]

select * from table1 where kod in (select kod from table1) and kod in (select kod from table1)

это бред, уж извините


Эдик   (2004-06-25 11:21:00) [9]

Хорошо, уменьшил колич. записей до 5000, правдо пришлось изменить скрипт:
select * from table1 where kod in (select kod from table1) and kod in (select kod from table1)
выполняеться 2 минуты, в фоксе - моментом...


Anatoly Podgoretsky   (2004-06-24 21:27:00) [10]

Уменьшить число 100000.


Эдик   (2004-06-24 19:18:00) [11]

Уменьшал колличество записей до 100000, от этого по индексу выбирать быстрей не стал  :-((
Каким образом совместить TTable и SQL?


Johnmen   (2004-06-24 19:12:00) [12]

Что уменьшал ? Насколько ? Как ?

>c Sql удобней, проще и быстрей работать

А я разве призывал отказаться от него ?
:)


Эдик   (2004-06-24 19:07:00) [13]

Уменьшал, разницы нет... c Sql удобней, проще и быстрей работать


Johnmen   (2004-06-24 19:02:00) [14]

>Варианты есть?

Да. Уменьшить число 1000000.
Использовать TTable.


Эдик   (2004-06-24 18:48:00) [15]

Создаем таблицу
create table table1.dbf
(kod char(10),pole1 char(40),pole2 char(50))
заполняем таблицу 1000000 записей
делаем выборку
select * from table1 order by kod - 2 минуты в, фоксе 1 минута,
создаем индекс
create index proba on table1 (kod)
делаем выборку
select * from table1 order by kod - 2 минуты в, фоксе 0.1 секунда
Варианты есть?


VAleksey   (2004-06-24 16:56:00) [16]

BDE использует индексы в LokalSQL если это возможно.


bushmen   (2004-06-24 16:40:00) [17]

>выбираю по индексному полю

А сам запрос какой? И индекс на каком поле?


Sandman25   (2004-06-24 16:26:00) [18]

Выбор случайно не такой:
Where MyField Like "%xxx%"?


Соловьев   (2004-06-24 16:24:00) [19]


> Создаю индексы, выбираю по индексному полю, но время выборки
> не меняется  :-((

select field
from table
index по field? и скорость не меняется? глюк, надо написать разработчикам


Наверх

Титульная страница Поиск, карта сайта Написать письмо