|
|
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
В access приходится обрабатывать от 567 000 строк и выше из за чего запросы, формы, отчеты загружаются от 10 минут и выше . Как возможно избавится от проблемы зависания ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 12:52 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
А оно кому-то нужно на экране одновременно в таком количестве? Пишите select, ставьте where. Или top. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 13:04 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
естествено не нужно . допустим в запросе я делаю выборку дата =12.01.03. Высвечивается 300 записей . Но запрос выполняется от 10 минут и выше . а если выбрать 2 даты то вообще виснет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 13:09 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
А на поле "дата" есть индекс? Кстати, можно поставить два, Ascending и Descending, иногда помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 13:12 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Можно (и нужно!) сделать укрупнение данных группировкой и создать таблицу на ее основании (запрос на создание, навешенный на запрос на группировку), а всем расчетным запросам указать в виде источника данных эту сведенную таблицу. Еще есть вариант использовать кубы ОЛАП и т.д., но зачэм?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 13:13 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
И еще такой вариант, каким пользуюсь: на сервере огроменная таблица, юзер сначала выгружает ее кусочек (по фильтрам, сколько ему сейчас нужно) в локальную таблицу mdb, а уже по ней запускает все отчеты. Удобно и быстро. Нет сервера - подключайся к файлу mdb, хранящему 567000+ строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 13:42 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
-- я так и делаю как вы пишете , но на сервере хранится 2 000000 из них я выбираю 567000 сохраняю данные в accesse и сними пытаюсь работать. Проблема в том что в последующих запросах я и занимаюсь их группировкой и расчетами , но до этого я немогу никак уменьшить кол. строк . :-((( Может кто работает с таким объемом и проблем не возникает вообще ? Может это мой акцесс кривой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 14:52 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2Lisa Тебя уже спрашивали - индексы есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 14:59 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:07 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
А может на сервере эти запросы и исполнять? А уже на полученные 300 строк вешать формы и отчеты? С похожими объемами работаю (350000), в том числе группировочные запросы и т.п., 10 мин - это все-таки слишком. Надо пробовать оптимизировать запросы. Для советов информации исходной мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:15 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Коль есть индексы по всем полям по которым джоинятся и отбираются записи, то надо смотреть сами запросы: логику и "правильность". А из идей (повтряю топик Alexus12): наверняка в отчетах участвуют агрегированные данные по месяцам (например)- тогда почему бы не создать отдельную таблицу с агрегированными данными по месяцам - кол-во записей уменьшиться в разы. Если есть отчеты по неделям - создавай агрегированную таблицу по неделям. Конечно создание этих таблиц займет некое время, но зато будет выигрыш при выводе отчетов. Да, а что за компьютер? Может просто его проапгрейдить? Да и еще: работаешь с данными через сеть? или локально? Если локально то выбор из полумиллиона записей 300 записей при наличии индексов и правильно оставленных запросов займет секунды. Приведи хотя бы один запрос, к-ый тормозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:20 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Лиза, сила БД состоит в правильных составных индексах. Например, если Вы ищете курс валюты на дату, то индекс должен содержат поля даты курса и наименования валюты. Тогда поиск будет происходить практически мгновенно. Обязательно, таблицы должны быть связаны в схеме данных. Иначе, при запросе индекс может не быть использован. Проанализируйте таблицы и их индексы, схему данных. Анализируйте запросы отчетов сперва средством анализа, потом сами. Сожмите Вашу БД. Поставьте хороший процессор и память, например Pentium 133 работает с БД 50 мин, а Pentium III - 2 минуты! Успеха! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:25 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Если локально то выбор из полумиллиона записей 300 записей при наличии индексов и правильно оставленных запросов займет секунды. А вот хрен. Вспомнил похожий пример (похожий потому что дата использовалась в критериях). Запрос с двумя критериями а) по дате, отсев данных - из 500000 до 1000-2000 примерно б) по числовому коду (часть составного первичного ключа), данные уменьшает с 500000 до примерно 100000. После этого группировка и т.д. Так мудрый аксес сначала ислользовал поиск по куску ключа (у Гетца по-моему написано что это для него нормально). В итоге все тормозило нехило. Пришлось условие "Where Code=prm_Code And Dt>=prm_Dt" использовать условие "Where (Code + 0 )=prm_Code And Dt>=prm_Dt" Так что с индексами тоже осторожнее надо быть. Индексы с плохой селективностью повергнут аксес в состояние грогги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:32 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2 Лоху >А вот хрен Отбор по 1 полю дата (индексируемому) с условием "Равно" и с селективностью индекса (300записей/567 000=) 0,052% должен выполняться быстро, за секунды (хотя у Невзорова была программа "600 секунд" - так это тоже секунды ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:43 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2 Сенин Виктор А вот хрен еще раз. Аксес всегда выполняет поиск по полю, входящему в первичный ключ. Это не я сказал, все вопросы к Гетцу Великому. Выше описан случай когда кусок составного ключа давал низкую селективность, и аксес его все равно использовал вместо индекса с гораздо более высокой селективностью (может рашмора использовал, не помню уже). Пришлось это поле (часть ключа) превращать в вычисляемое. Так что это еще бабушка надвое сказала используется у Lisa индекс по дате или нет. Надо план запроса смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 15:57 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Народ! А подскажите, плиз, где конкретно (магазин в Московии ;) можно Гетца найти. В двух больших (Москва и новом на Сретенке) нету... И как называется (точное название), и почем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:02 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2 Лоху Давай хрен сюда Боюсь, что ты прав. Действительно. Сейчас у меня, хотя по auMainForAllReports, auPlant есть свои индексы, и есть составной из этих полей. [src] 01) Inner Join table 'tbl0ReportBlocksIndividual_Sub' to table 'tbl0ReportBlocksIndividual_Main' using index 'tbl0ReportBlocksIndividual_Main!PrimaryKey' join expression "tbl0ReportBlocksIndividual_Sub.auMainIndiv=tbl0ReportBlocksIndividual_Main.auMainIndiv" then test expression "tbl0ReportBlocksIndividual_Main.auMainForAllReports=[prmauMainForAllReports] And tbl0ReportBlocksIndividual_Main.auPlant=[prmauPlant]" [src] Жалко хинты ставить нельзя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:08 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Я в Медведково нашел. Прямо рядом с метро (100 метров) книжный. Около 500 за том ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:08 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2Alexus12 >А подскажите, плиз, где конкретно (магазин в Московии ;) можно Гетца найти. Певый том покупал на книжном рынке в Олимпийском, но рынок уже закрыт (вроде) Второй - в Доме Технической Книги на Ленинском проспекте (от м. Октябрьское поле до отсановки, если не ошибаюсь ТрансАгентсво). Там рядом еще один приличный магазинчик есть. Так же поищи на http://ozon.ru или в других инет-магазинах Цена от 400 до 550 руб (данные декабря 2002) Название точное вроде "Руководство разработчика Access 2002 ... том такой-то" Точно не помню, бери все на чем стоит имя Гетц, и соавторы - не прогадаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:13 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:19 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
А вот еще вопрос. Неполучается группировать по дате в запросе . Приходится изварачиватся и писать типо iif(data1 = data2; data2; null) и отсикать все что null иначи записи задваиваются . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:25 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2Владими Саныч Если тебе очень нужно, то по почте интернет магазин сможет выслать... Правда по цену в 500 рублей, тогда забудь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:29 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Не понял. Что значит не получается группировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:30 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor: А я и так не помню, что такое рубль. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:35 |
|
||
|
Объем данных от 567 000 строк и выше в .
|
|||
|---|---|---|---|
|
#18+
Мы тут уже замучились . Делаем связь 1 к 1 в запросе . 1 - filial = filial и 2 - saldovka.[data_saldo] (таблица) и asartiment.[data_saldo] (запрос) Выбирается пусто . Без группировки по дате все выходит но с задвоенными значениями. Вчем дело неясно , хотя даты совпадают . А по дате вообще можно группировать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32164961&tid=1681449]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 382ms |

| 0 / 0 |
