Форум: "Базы";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизСкорорость работы с таблицой БД Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.012 c