|
|
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Есть данные о миллионе записей, необходимо записать это в БД MS Access. запись по одной строчке insertrecord -занимает очень много времени. Как это сделать оптимальне (быстрее) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:16 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Из SQL в MDB? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:16 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
В Builder у меня есть некая таблица данных, её надо сохранить MS Access .mdb я юзаю ADO. 6000 зхаписей примерно пишутся 2 минуты командой InsertRecord примерно столько же через SQL insert into ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:34 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Ну а в Билдере она откуда взялась, эта таблица? Ручками набивали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:36 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
авторВ Builder у меня есть некая таблица данных О как! Встречаем новую RDBMS - Билдер! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:37 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Таблица взялась из select из таблицы, потом наней накладывается журнал изменений, обсчитывается( амортизация) результат надо сохранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:41 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Похоже ЛП прав. С Днем Рождения New RDBMS - Билдер! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 17:46 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Когда ругаетесь объясняйте кем обзываете. RDBMS - это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:04 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
По-русски это РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:07 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Ха-ха. РСУБД - реляционная система управления базами данных Короче, стебется народ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:13 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Даже если предположить что это плохо ( появление нового RDBMS Builder) - это не дайт ответ на поставленный вопрос. Кто если сталкивался, напишите. может кто то сравнивал, вобщем буду рад любой полезной инфе. Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:16 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
2Mihonin Посмеялись и буде :) Ответь на сл. вопросы (и как можно подробней) Где хранились(ться) 1 000 000 записей (тип базы) Что происходит с ними при обработки, что происходит с оригиналом записей Как обрабатываешь и чем (ADO, DAO) Где находиться конечная запись (локально, в сети, в инете) Прогишь на Дельфи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 00:10 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
5) Виктор, он же написал - на билдере => (90%) Borland C++ Builder ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 05:39 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
2Темный >Виктор, он же написал - на билдере => (90%) Borland C++ Builder А что такое в MS Accesse Borland C++ Builder? И почему об этом все должны знать? Я, например, про С++ знаю, только то, что 3-я буква алфавита с 2 знаками +. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 09:14 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Есть локальная база (не клиент сервер). в ней есть табличка (картотека) там "много" записей. есть журнал действий над этой картотекой ,там число записей "поменьше" . Дейсвия - накладываем журнал действий на картотеку. получаем картотеку на нужный период, проиводим вычисления ( расчёт амортизации). и пишем файл отчёта (за 12 месяцев сразу, таким образом записей = "много"*12). Юзаю компоненты ADO. Microsoft Jet 4.0 (понятно что он тормозной, но всё равно, когда обработка идёт одним SQL например копирования из одной таблички в другую, это делается "на лету") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 09:37 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Пиши транзакции по 1000 записей - будет быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 19:20 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Mihonin , у меня сходная проблема, только строк поменьше (10-15 тыс), и писать надо с компа, где они "возникли" в БД на сервере (MDB). Сейчас все на DAO и работает просто отвратительно. Склоняюсь к мысли, что надо сделать типа того, как написал Guest - брать по 1000 строк и select from insert into, если что не прошло - откат транзакции и повтор, следующие 1000 строк... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 20:00 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
select from insert into - работает быстро, но суть в том что перед insert into надо провести вычисления. над курсором полученный из select. и проблема в том что к этому курсору никак не обратится SQL. Я делаю insert into Values(:id,...) по 1 записи через параметры- ставлю prepared=true. и пототм в компоненты SQL уже не меняю, а только значени параметров - в результате получил до 30% уменьшения времени записи, но всё равно долго. 84000 записей - 400 секунд ( ны быстрой тачке). Но суть в том что, если блоком это копировать select from insert into -это в делается за несколько секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:05 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Блин, ну запихни ты свои чудо-данные во временную таблицу (одним запросом), обработай их как хочешь, запузырь их из временной таблицы обратно в основную (одним запросом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:14 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
если бы ADP то там есть операции массовой вставки а в аксессе наверное надо 1 импортировать во временную таблицу DoCmd.TransferDatabase acImport а затем обрабатывать запросами так будет быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:30 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
поставь ради теста MSDE2000 и попробуй сделать все запросами в нем - задача как раз для него. можно получить увеличения быстродействия до нескольких тысяч раз... если конечно все сделать поуму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:37 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Mihonin "перед insert into надо провести вычисления. над курсором полученный из select. и проблема в том что к этому курсору никак не обратится SQL" - разъясни, если не трудно, про курсор, я что-то не совсем понял (не шибко грамотный). Я до сих пор не сделал на SQL, поскольку над каждыми элементом данных строки мне надо провести ряд проверок, и писать только то, что эти проверки прошло, на SQL это устроить сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 15:52 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
to Varan Я думал, что SQL запрос вернёт cursor( который В ОЗУ) и с этим курсором средствами БД проводить проверки, расчёты.( что будет быстро т.к. это в ОЗУ а не на винте), а потом обработанный курсор записать на жёсткий диск. но доступа к курсорам нет :( (а каждый раз работать через винт - будет медленне). ПОэтому считываю в данные в свою структуру, обрабатываю, и за писываю на винт. по одной записи. я нашёл как ускорить. Включаем транзакцию, и по больше ОЗУ на борт машины. Таким образом заставим БД кэшировать в ОЗУ. при подверждении транзакции он все изменения одним обращением записывает. Вот только если ОЗУ мало, то ОС включает подкачку (жёсткий диск) и результат получаем обратый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 16:33 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
товарисчи !!!!! если программа при самом оптимальном коде думает дольше чем юзер успевает нажать следующую кнопку - это маструбация (преувеличиваю) вы конечно можете пытаться ставить ставить рекорд скорости на велосипеде, но в самом деле любой самолет будет быстрее и напрягаться не надо... тем более зачастую нет никаких противопоказаний чтобы не воспользоваться более быстрой технологией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 16:49 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
ну 5 минут для 6000 записей в БД, и при увеличении размера в 10 раз, время тоже должно вырасти. а более быструю технологию использовать хорошо но не в этом случае. т.е. jet - это требование к задаче. вобщем и на ёлку сесть и ... рыбку съесть. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 16:59 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
АлексейК, Самолет стоит дороже, чем велосипед, да и разбиваться на нем больнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 17:30 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
если сравнивать клиент - серверные технологии и файловые по поводу разбиваться больнее - если насмерть то побарабану на чем если по поводу вероятности получить порчу базы - сервер гораздо надежнее если по вероятности порчи винча и всех данных то это зависит от тебя как ты делаешь резервное копирование а в плане цены - MSDE2000 прилагается к офису и тем самым не дороже аксесса, а за частую и то и другое пиратское выходит так купили: комплект велосипед и самолет, но даже тогда , когда надо получить рекорд скорости на самолет все равно не сяду потому что боюсь/ не хочу учиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 17:40 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
АлексейК Все, о чем ты говоришь, относится к разделу "Сравнение СУБД". Если люди ходят по земле, а не летают, как птицы, значит на то есть причины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 18:00 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Я вот тут стесняюсь спросить, а MSDE2000 разве не НАСТОЛЬНАЯ версия Скуль-Сервера? Сетевой Скуль-Сервер денюшек поболее чем офис стоит... Ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 18:48 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Сегодня у меня музыкальное настроение. Только все по Ленинграды с незабвенным Шнуром: "Почему люди не летают как птицы? Потому что отрастили большие ягодицы!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 20:33 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
2 Нуф-Нуф - да нет, MSDE2000 полноценный сервак. Там только ограничение на размер базы (вроде 2 гига) и не более 2 процессоров. Кстати, это оффтопик, но слышал что 1С вроде под 8-ю версию свой собственный SQL сервер разработала. Кто то в курсе что за чудо? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 22:46 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
+ у MSDE ограничение на пользователей до 5 штук, ограничения по репликации (м.б. только подписчиком), нет SQL Mail (но это и не беда). Если к MSDE добавить клиентов от полноценной версии, то получится платный MS SQL Personal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 22:55 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
Под "клиентами к серверу" надо понимать Enterprise Manager/Query Analyzer/Profiler. Самое ценное - Profiler. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 22:56 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
2 SV Я не нашел явных ограничений на 5 пользователей. Вот здесь подробнее: http://www.osp.ru/win2000/sql/admsecrets/200306ss306_print.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 23:03 |
|
||
|
Быстрая запись в базу данных
|
|||
|---|---|---|---|
|
#18+
2Odess \r >Я не нашел явных ограничений на 5 пользователей.\r \r Из твоей ссылки:\r Код: plaintext 1. 2. 3. 4. 5. \r Указанное так же верно и для SQL Server 2000 Personal Edition. Правда действительно речь надо вести не о 5 юзерах, а о 5 одновременно выполняющихся заданий (батчей) (а юзер м.б. и 1). Вот здесь аналогичный вопрос /topic/54790\r \r Правда в МСДН встретил и такое:\r [/src]MSDE doesn\'t limit the number of users who can connect to its database, but is optimized for five users[/src]\r \r Проверить скока этих batch workload у вас было можно с помощью команды DBCC CONCURRENCYVIOLATION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 09:16 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1677823]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 447ms |

| 0 / 0 |
