|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.10.2010, 21:58 | #1 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Скорость работы различных СУБД
Сегодня от безделья решил проверить несколько наиболее популярных СУБД на скорость работы с большим (относительно) объемом данных.
Хочу поделиться результатами (может кому-нибудь интересно). Итак, Computer: CPU Athlon(tm)64 X2Dual 6000+, RAM 2 гб. В тесте принимают участие: ADO (Microsoft.Jet.OLEDB.4.0) Paradox (Paradox 7) dBase (dBase for Windows) MySQL (v.5.0.45) AbsoluteDB (v.6.0) VolgaDB (v.5.17) Accuraser (v.4.02) Все таблицы имеют поля: ai - Autoincrement aNum - Integer aSum - Integer aText - String (или Varchar) 250 символов У всех таблиц все свойства по умолчанию (за исключением TableName, Database...) Стоит отметить, что VolgaDB по сути работает с таблицами в памяти (т.е. CachedUpdates:= True; ). Это нечестно по отношению к другим. Поэтому проверим ее и c работой в памяти (Post внутри цикла, ApplyUpdates после цикла), с со сбросом кеша на диск (ApplyUpdates внутри цикла). На форме связка DBGridEh (пусть тормозит работу) > DataSourse > DataSet (сама таблица), одна кнопка, один Label и ProgressBar. Добавим в таблицы по 20 тысяч записей с выполнением простейшего агрегатного запроса: Код:
VolgaDB (ApplyUpdates после цикла) - 0:26 (размер БД 496 Kb !!!) MySQL - 1:44 (размер БД 758 Kb !!!) dBase - 3:22 (размер БД 5,4 Mb) Paradox - 4:15 (размер БД 5,58 Mb) ADO - 6:25 (размер БД 1.6 Mb) VolgaDB (ApplyUpdates внутри цикла) - 14:19 (размер БД 496 Kb !!!) AbsoluteDB - 22:50 (размер БД 6,1 Mb) Accuraser - Надоело ждать, отключил процесс . Некоторые СУБД (особенно AbsoluteDB, Accuraser) первые тысяч пять записей добавляют быстро, потом "тормоза" начинаются в геометрической прогрессии. Резуме: MySQL Forever !!!??? С Ораклами и Постригами не работаю, поэтому не проверял. Последний раз редактировалось _SERGEYX_; 09.10.2010 в 22:05. |
09.10.2010, 22:18 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Неправильно ты проверял.
Ты проверял не СУБД а действия их провайдеров, а они искажают всю картину. У меня тоже такое часто что набрав в консоли СУБД запрос, он отработает одно время, а когда в Делфи его открываю совсем другое - провайдеры могут кой-чего скушать с секундах.
I'm learning to live...
|
10.10.2010, 01:04 | #3 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
с одной стороны, согласен со Стилет-ом - можно было слабать типа ХП для каждой субд и через нее проверить
но с другой стороны, данные вводят юзверя руками через эти самые провайдеры на клиенте, но конечно же не со скоростью 20 тыс. айтемов/сек. - и опять же "но" - в несколько потоков и такое реально так что - я за адвансед_тест - запускаем пару десятков копий прилады и по таймеру стартуем заливку данных, а еще лучше чтобы заливающие клиенты были не на этом же компе, а общались по сети |
10.10.2010, 11:38 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Ксати - ADO (Microsoft.Jet.OLEDB.4.0) Ошибка. ADO это не база данным микрососов а технология. Я бы уж писал Access (Microsoft.Jet.OLEDB.4.0)
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скорость работы программы | Farrel | Общие вопросы C/C++ | 0 | 10.09.2010 23:25 |
Delphi: наивысшая скорость работы с матрицей | ex.cluz | Общие вопросы Delphi | 5 | 31.05.2010 16:52 |
зависит ли скорость работы макроса от порядка условий? | kievlyanin | Microsoft Office Excel | 9 | 29.05.2009 12:30 |
Вопросы о оптимизации работы с СУБД | Stilet | БД в Delphi | 8 | 21.07.2008 11:29 |
как создать субд в Delphi для работы с MySqL | Savl | БД в Delphi | 1 | 12.03.2008 14:10 |