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

Вниз

Скорорость работы с таблицой БД   Найти похожие ветки 

 
tormoz   (2005-07-28 17:25) [0]

Здравствуйте. Есть одна таблица *.dbf на 1500000 записей. На диске занимает 590 МБайт. Запросы к этой таблице обрабатываются очень долго. Как можно ускорить выполнение запросов к таблице? В идеале хотелось бы получить возможность работы с таблицей в интерактивном режиме... Пока использую стандартный компонент Query.


 
Leonid Troyanovsky ©   (2005-07-28 20:13) [1]


> tormoz   (28.07.05 17:25)  
> Здравствуйте. Есть одна таблица *.dbf на 1500000 записей.
> На диске занимает 590 МБайт. Запросы к этой таблице обрабатываются
> очень долго. Как можно ускорить выполнение запросов к таблице?
> В идеале хотелось бы получить возможность работы с таблицей
> в интерактивном режиме... Пока использую стандартный компонент
> Query.


Например, перенесть все на MSSQL server, хотя бы MSDE.
Ну, и пользовать ADOQuery.
Хотя, конечно, более всего оно зависит от самих запросов.

--
Regards, LVT.


 
AlexWlad ©   (2005-07-28 20:19) [2]

С такими объемами - на SQL сервера. Кста, а может провести нормализацию, или хотя-бы поделить на 2: 1-я "узкая" с полями для наиболее частых запросов, 2-я "широкая" с остальными.


 
Leonid Troyanovsky ©   (2005-07-28 20:24) [3]


> AlexWlad ©   (28.07.05 20:19) [2]
> С такими объемами - на SQL сервера. Кста, а может провести
> нормализацию, или хотя-бы поделить на 2: 1-я "узкая" с полями
> для наиболее частых запросов, 2-я "широкая" с остальными.


Не, делить надо на 3.
Это давно  установленный эмпирически факт,
впоследствии нашедший научное обоснование.

--
Regards, LVT.


 
Slym ©   (2005-07-29 04:49) [4]

Индексы?


 
Fay ©   (2005-07-29 06:51) [5]

2 Leonid Troyanovsky ©   (28.07.05 20:24) [3]
>Не, делить надо на 3.
>Это давно  установленный эмпирически факт,
> впоследствии нашедший научное обоснование.

А смайлик сложно было поставить? Ибо бред. 8)


 
Leonid Troyanovsky ©   (2005-07-29 08:57) [6]


> Fay ©   (29.07.05 06:51) [5]

> А смайлик сложно было поставить? Ибо бред. 8)


:)

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2005-07-29 09:00) [7]

Какой автор, такая и скорость


 
tormoz   (2005-07-29 11:53) [8]


> Anatoly Podgoretsky ©   (29.07.05 09:00) [7]

Спасибо огромное!!!!


> Leonid Troyanovsky ©   (28.07.05 20:13) [1]

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

А по поводу деления таблицы: такие мысли были, но смысла в нем нет, так как отображается сразу в груде информация из почти всех столбцов (кроме 4), основной смысл: мне надо отображать данные, исходя из условий поиска... таблица и тик сокращена до минимума - выкинута вся лишняя (неиспользуемая) информация...

> AlexWlad ©   (28.07.05 20:19) [2]


 
-=snoop=- ©   (2005-07-29 11:59) [9]

не логично это работать с *.dbf через драйвер систему, отчего на фоксе все не зделать?? скорость вырастит в разы


 
Sergey13 ©   (2005-07-29 12:02) [10]

2 [8] tormoz   (29.07.05 11:53)
У тебя устаревшие сведения о SQL-серверах. Они ведь разные бывают. Например встроенные.


 
tormoz   (2005-07-29 12:03) [11]


> -=snoop=- ©   (29.07.05 11:59) [9]

что-то в этом есть... просто очень лениво переделывать все остальное... прога не маленькая, на фокс надоест переписывать...
да и на фоксе запросы выполняются немногим быстрее, я пробовал просто выполнить запрос к таблице... :-(


 
tormoz   (2005-07-29 12:06) [12]


> Sergey13 ©   (29.07.05 12:02) [10]

Уже что-то... а можно поподробнее, пожалуйста? или где почитать можно? для Win 2000


 
-=snoop=- ©   (2005-07-29 12:07) [13]

просто из фокса есть возможность проще вытащить все возможности по оптимизации, индесы допустим


 
Sergey13 ©   (2005-07-29 12:10) [14]

2[12] tormoz   (29.07.05 12:06)
> или где почитать можно?
Тут и поищи - один из самых частых вопросов.
Если интересно мое мнение - Firebird 1.5 Еmbedded - лучший выбор.
Подробностей много на ibase.ru


 
k2 ©   (2005-07-29 12:11) [15]

ненормальным выходом может если есть возможность по задаче сделать аналог партицированных таблиц? то есть по какому то условию разделить таблицу не по полям а по строкам?


 
tormoz   (2005-07-29 12:14) [16]


> k2 ©   (29.07.05 12:11) [15]

а если в запросе есть условие
... <имя поля> like "%<строка условия>%"...
как искать в куче таблиц? Выполнять 20-50 запросов последовательно?


 
ЮЮ ©   (2005-07-29 12:18) [17]

тогда остается ограничить пользователя запросами типа
 <имя поля> like "<строка условия>%"... + индексы по полям поиска.
А что там за информация, что приходится искать в середине поля?


 
k2 ©   (2005-07-29 12:23) [18]

2tormoz   (29.07.05 12:14)
а если в запросе есть условие
... <имя поля> like "%<строка условия>%"...
как искать в куче таблиц? Выполнять 20-50 запросов последовательно?

нет конешно, все к месту хорошо
допустим у тебя гарантированно в одном случае ищутся данные за текущий год,
в другом случае поднимаются из архива, можно тогда было бы разделить по годам
ну не получилось протелепать :)


 
tormoz   (2005-07-29 12:31) [19]

Ладно... Всем спасибо!!! Буду пытаться выбить денег на апгрейд машины и установки на нее SQl-сервера... По-детски проблему решить не удалось... :-(
Просто по вопросам безопасности, данный компьютер в сеть включать нельзя...


 
Sergey13 ©   (2005-07-29 12:41) [20]

2 [19] tormoz   (29.07.05 12:31)
А деньги то зачем просить? У тебя 386/486 что-ли? Если хотябы В98 работает, то и Firebird проканает.
Хотя машину обновить никогда не вредно. 8-)


 
Anatoly Podgoretsky ©   (2005-07-29 13:19) [21]

tormoz   (29.07.05 11:53) [8]
Программа должна работать на локальной машине. Ставить на нее отдельно SQL-сервер никак, ресурсы не позволяют.

Это у тебя ресурсы не позволяют использовать ФоксПро, а для локального SQL сервера должно хватить


 
alex_***   (2005-07-29 14:53) [22]

ресурсы не позволяют - системных ресурсов для работы с такими табличками уж точно хватит для работы SQL сервера или MSDE


 
AlexWlad ©   (2005-07-29 18:44) [23]

tormoz   (29.07.05 11:53) [8] и [19]

Не могу поверить, что такой объем инфы настолько безразличен начальству, что нельзя выбить денег. Никто не говорил про "тяжелые" сервера. Вполне хватит (учитывая 1-польз.) MSDE или  Firebird 1.5 Еmbedded - тут уж вопрос скорее религиозный :).


 
Fay ©   (2005-07-29 18:54) [24]

2 AlexWlad ©   (29.07.05 18:44) [23]
>> MSDE или Firebird 1.5 Еmbedded - тут уж вопрос скорее религиозный
Для меня это вАщЕ не вопрос : MSSQL (в любой инкарнации) рулит! 8)


 
AlexWlad ©   (2005-07-29 18:55) [25]

Fay ©   (29.07.05 18:54) [24]

Ох, зря написал... Ща как попрет... ;)


 
Виталий Панасенко   (2005-07-29 19:55) [26]

like даже при наличии индексов на локали(я о формате БД)  - тормоза конкретные.. если точное сравнение, то все нормально.. скорость, в смысле, приличная...


 
Desdechado ©   (2005-07-31 20:50) [27]

если в одной таблице хранится ВСЕ и еще в виде, который неформализован (для чего тогда такие бешенные LIKE?), то нужно менять не платформу, а структуру БД
а еще лучше, подход к проектированию БД и программных систем


 
Anatoly Podgoretsky ©   (2005-07-31 20:52) [28]

Надо менять только последнее, остальное прикладное.



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

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

Наверх




Память: 0.53 MB
Время: 0.038 c
14-1124017865
ocean
2005-08-14 15:11
2005.09.11
Обновил Windows,


14-1124103208
root
2005-08-15 14:53
2005.09.11
Проблемма с часам


1-1124192267
Суслик
2005-08-16 15:37
2005.09.11
Проблемы с загрузкой пакетов функцией LoadPackage


6-1117072378
Usachev
2005-05-26 05:52
2005.09.11
с чем связанна эта ошибка


14-1124044520
Е-клмн
2005-08-14 22:35
2005.09.11
Как на английский перевести слово «шняга»?