Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скорость Interbase в таблице 8 500 000 record [D7, IB6.x]


cdadmitriy ©   (2003-08-27 11:00:00) 

TABLE :

CREATE TABLE "R2"
(
"S0" NUMERIC(9, 0),
"S1" CHAR(30)
);

выпонение :

select Count (S0) From R2

Занимает ~ 1.5 - 2 МИНУТЫ

В чем проблема ? или Interbase не подходит ?


Romkin   (2003-08-27 13:58:00) [1]

Увы, FB1.5 пока не выпущен, а тестировать Release Candidate никто не будет. Надо просто подождать. Субъективно под win эта версия в 1.5 раза быстрее FB1 :) Или в два...
А тест можешь сам провести, детальное описание есть, продукты тоже скачать можно :)
Кстати, нельзя сказать, что FB под Линух заточен, просто в Линухе работа с памятью и процессами лучше поставлена, особенность ОС уже. А вот за мультиплатформность всегда платить приходится, иногда довольно много, поэтому я бы не ждал, что FB перегонит Yaffil :)


Danilka   (2003-08-27 13:38:00) [2]

[11] Romkin © (27.08.03 12:40)
Были-бы эти-же самые тесты, но с участием FB1.5, а то там только FB1.0.
И еще, было-бы интересно потестировать фиребирд на такой-же машинке, но под линуксом.
Я так понял, дятел заточен под винду, а фиребирд под линукс, поэтому такое сравнение производительности было-бы более уместным, на мой взгляд.
Интересно, где-нибудь есть такие тесты?


Romkin   (2003-08-27 13:03:00) [3]

Не играет. Играет размер записи - не более 64 кило, и есть ограничение на размер таблицы, 32 Тб
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_techspec&


Hawk2   (2003-08-27 12:58:00) [4]

Romkin © (27.08.03 12:33) [9] > 2Hawk2 Ограничение на размер таблицы у IB 4 GB записей, так что влезет :)

Ну это смотря сколько у него полей и какого они типа, или это роли не играет?


Romkin   (2003-08-27 12:40:00) [5]

Вот ее-то ты и померил. Понятно, что сервер медленнее, чем файл :)
И что такого? выигрыш достигается на реальных задачах, когда делаешь сложные запросы :)
Насчет скорости даже измерять ничего не надо, есть готовые результаты тестов
http://www.interbase-world.com/modules.php?name=News&file=article&sid=34
http://www.interbase-world.com/modules.php?name=News&file=article&sid=33
Это - реально.


cdadmitriy   (2003-08-27 12:36:00) [6]

Проблема не только быстро посчитать count но в скорости доступа
ко всей DB


Romkin   (2003-08-27 12:33:00) [7]

Особой разницы между ними, имхо, нет :)
А вот насчет count - сделай триггер, в нем пусть обновляется в отдельной таблице кол-во записей :) Потом просто посмотреть поле...
А насчет Парадокса - так там кол-во записей в заголовке таблицы хранится. Ессно, что быстро будет :)))
2Hawk2 Ограничение на размер таблицы у IB 4 GB записей, так что влезет :)


cdadmitriy   (2003-08-27 11:42:00) [8]

" А может нужно пересмотреть организацию БД " Может и можно

НО ???

А какой способ доступа лучше ( быстрее )
IBDatabase или DBXpress


Hawk2   (2003-08-27 11:32:00) [9]

А может нужно пересмотреть организацию БД. Ведь есть ограничения на размер базы и я не знаю сможеш ли ты запихнуть в нее 50 000 000 записей. А нельзя ли некоторые записи сливать в архив (такую же таблицу, но в которой будут хранится записи которые не используются или редко используются).


Zacho   (2003-08-27 11:23:00) [10]


> cdadmitriy © (27.08.03 11:15) [3]

Interbase не подходит. Если в твоей задаче SELECT COUNT на таких объемах - типичная операция, то гораздо больше подойдет, например, MS SQL. Дело в том, что из-за версионной архитектуры IB для COUNT не могут быть использованы индексы, только перебор записей.

> 2. "считать кол-во всех записей " просто пример скорости

Скорость надо тестировать на реальных примерах, подходящих для конкретной задачи.


cdadmitriy   (2003-08-27 11:20:00) [11]

1. Этот "плохой " Paradox работает намного лучше ....
2 . В таблице нужно ~ 50 000 000 record это таблица о движениях Автомобилей (~ 1000 ) их "черный ящик"


Sergey13   (2003-08-27 11:16:00) [12]

А если попробовать count(*). Щаманство конечно... 8-)


Hawk2   (2003-08-27 11:15:00) [13]

cdadmitriy © (27.08.03 11:00)
>выпонение :
>select Count (S0) From R2
>Занимает ~ 1.5 - 2 МИНУТЫ
При таком количестве записей это еще довольно быстро :-)

Если не секрет что это за база?


cdadmitriy   (2003-08-27 11:15:00) [14]

1. Что не подходит Interbase или select ...

2. "считать кол-во всех записей " просто пример скорости

перебор занимает еще больше ...


Zacho   (2003-08-27 11:08:00) [15]

Для таких операций - не подходит. А действительно ли для задачи необходимо считать кол-во всех записей в этой таблице ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо