Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Объем данных от 567 000 строк и выше в . / 25 сообщений из 52, страница 1 из 3
21.05.2003, 12:52
    #32164961
Lisa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
В access приходится обрабатывать от 567 000 строк и выше из за чего запросы, формы, отчеты загружаются от 10 минут и выше .
Как возможно избавится от проблемы зависания ?
...
Рейтинг: 0 / 0
21.05.2003, 13:04
    #32164988
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
А оно кому-то нужно на экране одновременно в таком количестве? Пишите select, ставьте where. Или top.
...
Рейтинг: 0 / 0
21.05.2003, 13:09
    #32164997
Lisa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
естествено не нужно .
допустим в запросе я делаю выборку дата =12.01.03.
Высвечивается 300 записей .
Но запрос выполняется от 10 минут и выше .
а если выбрать 2 даты то вообще виснет.
...
Рейтинг: 0 / 0
21.05.2003, 13:12
    #32165001
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
А на поле "дата" есть индекс? Кстати, можно поставить два, Ascending и Descending, иногда помогает.
...
Рейтинг: 0 / 0
21.05.2003, 13:13
    #32165003
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Можно (и нужно!) сделать укрупнение данных группировкой
и создать таблицу на ее основании (запрос на создание, навешенный на запрос на группировку),
а всем расчетным запросам указать в виде источника данных эту сведенную таблицу.
Еще есть вариант использовать кубы ОЛАП и т.д., но зачэм?..
...
Рейтинг: 0 / 0
21.05.2003, 13:42
    #32165048
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
И еще такой вариант, каким пользуюсь:
на сервере огроменная таблица,
юзер сначала выгружает ее кусочек (по фильтрам, сколько ему сейчас нужно) в локальную таблицу mdb,
а уже по ней запускает все отчеты.
Удобно и быстро.
Нет сервера - подключайся к файлу mdb, хранящему 567000+ строк.
...
Рейтинг: 0 / 0
21.05.2003, 14:52
    #32165170
Lisa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
-- я так и делаю как вы пишете , но на сервере хранится 2 000000 из них я выбираю 567000 сохраняю данные в accesse и сними пытаюсь работать.

Проблема в том что в последующих запросах я и занимаюсь их группировкой и расчетами , но до этого я немогу никак уменьшить кол. строк . :-(((

Может кто работает с таким объемом и проблем не возникает вообще ?
Может это мой акцесс кривой ?
...
Рейтинг: 0 / 0
21.05.2003, 14:59
    #32165177
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
2Lisa

Тебя уже спрашивали - индексы есть?
...
Рейтинг: 0 / 0
21.05.2003, 15:07
    #32165194
Lisa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
есть
...
Рейтинг: 0 / 0
21.05.2003, 15:15
    #32165206
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
А может на сервере эти запросы и исполнять? А уже на полученные 300 строк вешать формы и отчеты?
С похожими объемами работаю (350000), в том числе группировочные запросы и т.п., 10 мин - это все-таки слишком. Надо пробовать оптимизировать запросы. Для советов информации исходной мало.
...
Рейтинг: 0 / 0
21.05.2003, 15:20
    #32165220
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Коль есть индексы по всем полям по которым джоинятся и отбираются записи, то надо смотреть сами запросы: логику и "правильность".

А из идей (повтряю топик Alexus12): наверняка в отчетах участвуют агрегированные данные по месяцам (например)- тогда почему бы не создать отдельную таблицу с агрегированными данными по месяцам - кол-во записей уменьшиться в разы. Если есть отчеты по неделям - создавай агрегированную таблицу по неделям.
Конечно создание этих таблиц займет некое время, но зато будет выигрыш при выводе отчетов.

Да, а что за компьютер? Может просто его проапгрейдить?

Да и еще: работаешь с данными через сеть? или локально? Если локально то выбор из полумиллиона записей 300 записей при наличии индексов и правильно оставленных запросов займет секунды.

Приведи хотя бы один запрос, к-ый тормозит.
...
Рейтинг: 0 / 0
21.05.2003, 15:25
    #32165231
PaulB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Лиза, сила БД состоит в правильных составных индексах. Например, если Вы ищете курс валюты на дату, то индекс должен содержат поля даты курса и наименования валюты. Тогда поиск будет происходить практически мгновенно. Обязательно, таблицы должны быть связаны в схеме данных. Иначе, при запросе индекс может не быть использован.

Проанализируйте таблицы и их индексы, схему данных.
Анализируйте запросы отчетов сперва средством анализа, потом сами. Сожмите Вашу БД. Поставьте хороший процессор и память, например Pentium 133 работает с БД 50 мин, а Pentium III - 2 минуты! Успеха!
...
Рейтинг: 0 / 0
21.05.2003, 15:32
    #32165246
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Если локально то выбор из полумиллиона записей 300 записей при наличии индексов и правильно оставленных запросов займет секунды.
А вот хрен. Вспомнил похожий пример (похожий потому что дата использовалась в критериях). Запрос с двумя критериями а) по дате, отсев данных - из 500000 до 1000-2000 примерно б) по числовому коду (часть составного первичного ключа), данные уменьшает с 500000 до примерно 100000. После этого группировка и т.д.
Так мудрый аксес сначала ислользовал поиск по куску ключа (у Гетца по-моему написано что это для него нормально). В итоге все тормозило нехило. Пришлось условие "Where Code=prm_Code And Dt>=prm_Dt" использовать условие "Where (Code + 0 )=prm_Code And Dt>=prm_Dt"
Так что с индексами тоже осторожнее надо быть. Индексы с плохой селективностью повергнут аксес в состояние грогги
...
Рейтинг: 0 / 0
21.05.2003, 15:43
    #32165261
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
2 Лоху
>А вот хрен

Отбор по 1 полю дата (индексируемому) с условием "Равно" и с селективностью индекса (300записей/567 000=) 0,052% должен выполняться быстро, за секунды (хотя у Невзорова была программа "600 секунд" - так это тоже секунды )
...
Рейтинг: 0 / 0
21.05.2003, 15:57
    #32165287
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
2 Сенин Виктор
А вот хрен еще раз. Аксес всегда выполняет поиск по полю, входящему в первичный ключ. Это не я сказал, все вопросы к Гетцу Великому.
Выше описан случай когда кусок составного ключа давал низкую селективность, и аксес его все равно использовал вместо индекса с гораздо более высокой селективностью (может рашмора использовал, не помню уже). Пришлось это поле (часть ключа) превращать в вычисляемое.
Так что это еще бабушка надвое сказала используется у Lisa индекс по дате или нет. Надо план запроса смотреть.
...
Рейтинг: 0 / 0
21.05.2003, 16:02
    #32165294
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Народ!
А подскажите, плиз, где конкретно (магазин в Московии ;) можно Гетца найти.
В двух больших (Москва и новом на Сретенке) нету...
И как называется (точное название),
и почем...
...
Рейтинг: 0 / 0
21.05.2003, 16:08
    #32165299
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
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]

Жалко хинты ставить нельзя...
...
Рейтинг: 0 / 0
21.05.2003, 16:08
    #32165301
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Я в Медведково нашел. Прямо рядом с метро (100 метров) книжный.
Около 500 за том
...
Рейтинг: 0 / 0
21.05.2003, 16:13
    #32165308
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
2Alexus12

>А подскажите, плиз, где конкретно (магазин в Московии ;) можно Гетца найти.

Певый том покупал на книжном рынке в Олимпийском, но рынок уже закрыт (вроде)
Второй - в Доме Технической Книги на Ленинском проспекте (от м. Октябрьское поле до отсановки, если не ошибаюсь ТрансАгентсво). Там рядом еще один приличный магазинчик есть.

Так же поищи на http://ozon.ru или в других инет-магазинах

Цена от 400 до 550 руб (данные декабря 2002)
Название точное вроде "Руководство разработчика Access 2002 ... том такой-то"
Точно не помню, бери все на чем стоит имя Гетц, и соавторы - не прогадаешь.
...
Рейтинг: 0 / 0
21.05.2003, 16:19
    #32165320
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
А в районе Тель-Авива, может, кто знает?
...
Рейтинг: 0 / 0
21.05.2003, 16:25
    #32165329
Lisa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
А вот еще вопрос.
Неполучается группировать по дате в запросе .

Приходится изварачиватся и писать типо iif(data1 = data2; data2; null)
и отсикать все что null иначи записи задваиваются .
...
Рейтинг: 0 / 0
21.05.2003, 16:29
    #32165335
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
2Владими Саныч

Если тебе очень нужно, то по почте интернет магазин сможет выслать...
Правда по цену в 500 рублей, тогда забудь
...
Рейтинг: 0 / 0
21.05.2003, 16:30
    #32165336
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Не понял. Что значит не получается группировать?
...
Рейтинг: 0 / 0
21.05.2003, 16:35
    #32165341
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
2 Senin Viktor:

А я и так не помню, что такое рубль. :^)
...
Рейтинг: 0 / 0
21.05.2003, 16:35
    #32165343
Lisa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объем данных от 567 000 строк и выше в .
Мы тут уже замучились .
Делаем связь 1 к 1 в запросе .
1 - filial = filial

и

2 - saldovka.[data_saldo] (таблица) и asartiment.[data_saldo] (запрос)

Выбирается пусто .
Без группировки по дате все выходит но с задвоенными значениями.

Вчем дело неясно , хотя даты совпадают .
А по дате вообще можно группировать ?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Объем данных от 567 000 строк и выше в . / 25 сообщений из 52, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]