![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скорорость работы с таблицой БД [D6, dBase, FoxPro]
tormoz © (2005-07-28 17:25:00)Здравствуйте. Есть одна таблица *.dbf на 1500000 записей. На диске занимает 590 МБайт. Запросы к этой таблице обрабатываются очень долго. Как можно ускорить выполнение запросов к таблице? В идеале хотелось бы получить возможность работы с таблицей в интерактивном режиме... Пока использую стандартный компонент Query.
Anatoly Podgoretsky (2005-07-31 20:52:00) [1]Надо менять только последнее, остальное прикладное.
Desdechado (2005-07-31 20:50:00) [2]если в одной таблице хранится ВСЕ и еще в виде, который неформализован (для чего тогда такие бешенные LIKE?), то нужно менять не платформу, а структуру БД
а еще лучше, подход к проектированию БД и программных систем
Виталий Панасенко (2005-07-29 19:55:00) [3]like даже при наличии индексов на локали(я о формате БД) - тормоза конкретные.. если точное сравнение, то все нормально.. скорость, в смысле, приличная...
AlexWlad (2005-07-29 18:55:00) [4]Fay © (29.07.05 18:54) [24]
Ох, зря написал... Ща как попрет... ;)
Fay (2005-07-29 18:54:00) [5]2 AlexWlad © (29.07.05 18:44) [23]
>> MSDE или Firebird 1.5 Еmbedded - тут уж вопрос скорее религиозный
Для меня это вАщЕ не вопрос : MSSQL (в любой инкарнации) рулит! 8)
AlexWlad (2005-07-29 18:44:00) [6]tormoz (29.07.05 11:53) [8] и [19]
Не могу поверить, что такой объем инфы настолько безразличен начальству, что нельзя выбить денег. Никто не говорил про "тяжелые" сервера. Вполне хватит (учитывая 1-польз.) MSDE или Firebird 1.5 Еmbedded - тут уж вопрос скорее религиозный :).
alex_*** (2005-07-29 14:53:00) [7]ресурсы не позволяют- системных ресурсов для работы с такими табличками уж точно хватит для работы SQL сервера или MSDE
Anatoly Podgoretsky (2005-07-29 13:19:00) [8]tormoz (29.07.05 11:53) [8]
Программа должна работать на локальной машине. Ставить на нее отдельно SQL-сервер никак, ресурсы не позволяют.
Это у тебя ресурсы не позволяют использовать ФоксПро, а для локального SQL сервера должно хватить
Sergey13 (2005-07-29 12:41:00) [9]2 [19] tormoz (29.07.05 12:31)
А деньги то зачем просить? У тебя 386/486 что-ли? Если хотябы В98 работает, то и Firebird проканает.
Хотя машину обновить никогда не вредно. 8-)
tormoz (2005-07-29 12:31:00) [10]Ладно... Всем спасибо!!! Буду пытаться выбить денег на апгрейд машины и установки на нее SQl-сервера... По-детски проблему решить не удалось... :-(
Просто по вопросам безопасности, данный компьютер в сеть включать нельзя...
k2 (2005-07-29 12:23:00) [11]2tormoz (29.07.05 12:14)
а если в запросе есть условие
... <имя поля> like "%<строка условия>%"...
как искать в куче таблиц? Выполнять 20-50 запросов последовательно?
нет конешно, все к месту хорошо
допустим у тебя гарантированно в одном случае ищутся данные за текущий год,
в другом случае поднимаются из архива, можно тогда было бы разделить по годам
ну не получилось протелепать :)
ЮЮ (2005-07-29 12:18:00) [12]тогда остается ограничить пользователя запросами типа
<имя поля> like "<строка условия> %"... + индексы по полям поиска.
А что там за информация, что приходится искать в середине поля?
tormoz (2005-07-29 12:14:00) [13]
> k2 © (29.07.05 12:11) [15]
а если в запросе есть условие
... <имя поля> like "%<строка условия>%"...
как искать в куче таблиц? Выполнять 20-50 запросов последовательно?
k2 (2005-07-29 12:11:00) [14]ненормальным выходом может если есть возможность по задаче сделать аналог партицированных таблиц? то есть по какому то условию разделить таблицу не по полям а по строкам?
Sergey13 (2005-07-29 12:10:00) [15]2[12] tormoz (29.07.05 12:06)
> или где почитать можно?
Тут и поищи - один из самых частых вопросов.
Если интересно мое мнение - Firebird 1.5 Еmbedded - лучший выбор.
Подробностей много на ibase.ru
-=snoop=- (2005-07-29 12:07:00) [16]просто из фокса есть возможность проще вытащить все возможности по оптимизации, индесы допустим
tormoz (2005-07-29 12:06:00) [17]
> Sergey13 © (29.07.05 12:02) [10]
Уже что-то... а можно поподробнее, пожалуйста? или где почитать можно? для Win 2000
tormoz (2005-07-29 12:03:00) [18]
> -=snoop=- © (29.07.05 11:59) [9]
что-то в этом есть... просто очень лениво переделывать все остальное... прога не маленькая, на фокс надоест переписывать...
да и на фоксе запросы выполняются немногим быстрее, я пробовал просто выполнить запрос к таблице... :-(
Sergey13 (2005-07-29 12:02:00) [19]2 [8] tormoz (29.07.05 11:53)
У тебя устаревшие сведения о SQL-серверах. Они ведь разные бывают. Например встроенные.
-=snoop=- (2005-07-29 11:59:00) [20]не логично это работать с *.dbf через драйвер систему, отчего на фоксе все не зделать?? скорость вырастит в разы