powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Быстрая запись в базу данных
25 сообщений из 36, страница 1 из 2
Быстрая запись в базу данных
    #32341092
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть данные о миллионе записей, необходимо записать это в БД MS Access. запись по одной строчке insertrecord -занимает очень много времени. Как это сделать оптимальне (быстрее)
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341094
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из SQL в MDB?
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341123
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Builder у меня есть некая таблица данных, её надо сохранить MS Access .mdb я юзаю ADO. 6000 зхаписей примерно пишутся 2 минуты командой InsertRecord примерно столько же через SQL insert into
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341124
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а в Билдере она откуда взялась, эта таблица? Ручками набивали?
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341127
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ Builder у меня есть некая таблица данных
О как! Встречаем новую RDBMS - Билдер!
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341138
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица взялась из select из таблицы, потом наней накладывается журнал изменений, обсчитывается( амортизация) результат надо сохранить.
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341146
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже ЛП прав.
С Днем Рождения New RDBMS - Билдер!
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341172
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда ругаетесь объясняйте кем обзываете. RDBMS - это как?
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341177
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
По-русски это РСУБД.
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341185
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха-ха. РСУБД - реляционная система управления базами данных
Короче, стебется народ.
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341191
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже если предположить что это плохо ( появление нового RDBMS Builder) - это не дайт ответ на поставленный вопрос. Кто если сталкивался, напишите. может кто то сравнивал, вобщем буду рад любой полезной инфе. Заранее благодарен
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341387
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Mihonin

Посмеялись и буде :)

Ответь на сл. вопросы (и как можно подробней)

Где хранились(ться) 1 000 000 записей (тип базы)
Что происходит с ними при обработки, что происходит с оригиналом записей
Как обрабатываешь и чем (ADO, DAO)
Где находиться конечная запись (локально, в сети, в инете)
Прогишь на Дельфи?
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341445
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5) Виктор, он же написал - на билдере => (90%) Borland C++ Builder
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341517
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Темный
>Виктор, он же написал - на билдере => (90%) Borland C++ Builder

А что такое в MS Accesse Borland C++ Builder? И почему об этом все должны знать? Я, например, про С++ знаю, только то, что 3-я буква алфавита с 2 знаками +.

:)
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32341532
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть локальная база (не клиент сервер). в ней есть табличка (картотека) там "много" записей. есть журнал действий над этой картотекой ,там число записей "поменьше" . Дейсвия - накладываем журнал действий на картотеку. получаем картотеку на нужный период, проиводим вычисления ( расчёт амортизации). и пишем файл отчёта (за 12 месяцев сразу, таким образом записей = "много"*12). Юзаю компоненты ADO. Microsoft Jet 4.0 (понятно что он тормозной, но всё равно, когда обработка идёт одним SQL например копирования из одной таблички в другую, это делается "на лету")
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32342563
---------------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пиши транзакции по 1000 записей - будет быстрее
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32342612
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mihonin , у меня сходная проблема, только строк поменьше (10-15 тыс), и писать надо с компа, где они "возникли" в БД на сервере (MDB). Сейчас все на DAO и работает просто отвратительно. Склоняюсь к мысли, что надо сделать типа того, как написал Guest - брать по 1000 строк и select from insert into, если что не прошло - откат транзакции и повтор, следующие 1000 строк...
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343320
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select from insert into - работает быстро, но суть в том что перед insert into надо провести вычисления. над курсором полученный из select. и проблема в том что к этому курсору никак не обратится SQL. Я делаю insert into Values(:id,...) по 1 записи через параметры- ставлю prepared=true. и пототм в компоненты SQL уже не меняю, а только значени параметров - в результате получил до 30% уменьшения времени записи, но всё равно долго. 84000 записей - 400 секунд ( ны быстрой тачке). Но суть в том что, если блоком это копировать select from insert into -это в делается за несколько секунд.
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343337
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, ну запихни ты свои чудо-данные во временную таблицу (одним запросом), обработай их как хочешь, запузырь их из временной таблицы обратно в основную (одним запросом)
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343507
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если бы ADP то там есть операции массовой вставки

а в аксессе наверное надо
1 импортировать во временную таблицу
DoCmd.TransferDatabase acImport

а затем обрабатывать запросами
так будет быстрее
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343526
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставь ради теста MSDE2000 и попробуй сделать все запросами в нем - задача как раз для него. можно получить увеличения быстродействия до нескольких тысяч раз... если конечно все сделать поуму
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343769
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mihonin
"перед insert into надо провести вычисления. над курсором полученный из select. и проблема в том что к этому курсору никак не обратится SQL"

- разъясни, если не трудно, про курсор, я что-то не совсем понял (не шибко грамотный).
Я до сих пор не сделал на SQL, поскольку над каждыми элементом данных строки мне надо провести ряд проверок, и писать только то, что эти проверки прошло, на SQL это устроить сложнее.
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343854
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Varan
Я думал, что SQL запрос вернёт cursor( который В ОЗУ) и с этим курсором средствами БД проводить проверки, расчёты.( что будет быстро т.к. это в ОЗУ а не на винте), а потом обработанный курсор записать на жёсткий диск. но доступа к курсорам нет :( (а каждый раз работать через винт - будет медленне). ПОэтому считываю в данные в свою структуру, обрабатываю, и за писываю на винт. по одной записи.
я нашёл как ускорить. Включаем транзакцию, и по больше ОЗУ на борт машины. Таким образом заставим БД кэшировать в ОЗУ. при подверждении транзакции он все изменения одним обращением записывает.
Вот только если ОЗУ мало, то ОС включает подкачку (жёсткий диск) и результат получаем обратый.
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343887
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
товарисчи !!!!!
если программа при самом оптимальном коде думает дольше чем юзер успевает нажать следующую кнопку - это маструбация (преувеличиваю)

вы конечно можете пытаться ставить ставить рекорд скорости на велосипеде, но в самом деле любой самолет будет быстрее и напрягаться не надо...
тем более зачастую нет никаких противопоказаний чтобы не воспользоваться более быстрой технологией
...
Рейтинг: 0 / 0
Быстрая запись в базу данных
    #32343904
Mihonin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну 5 минут для 6000 записей в БД, и при увеличении размера в 10 раз, время тоже должно вырасти. а более быструю технологию использовать хорошо но не в этом случае. т.е. jet - это требование к задаче. вобщем и на ёлку сесть и ... рыбку съесть. :)
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Быстрая запись в базу данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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