Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
_Владимир__
Member

Откуда:
Сообщений: 356
Создал две абсолютно одинаковых таблицы в оракле и firebird с одним полем типа number/numeric
Сделал два цикла на вставку милиона записей и там и там.

oracle
////////////////
n := 0;
while n<=10000000 loop
insert into t(t) values(n);
n:=n+1;
end loop;

////////////

firebird
////////////
n = 0;
while (n <= 10000000) do
begin
insert into t_new(id) values(:n);
n = n + 1;
end
/////////

FireBird сделал это за 4 сек 063 мс
оракл сделал это за 235 сек 063 мс

потом попрорбовал обновить эти записи
оракл сдедал это за 265 сек
firebird за 19 с


Почему такая большая разница по скорости. Неужели Firebird маленький да удаленький.
22 янв 07, 08:40    [3672911]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
ы!
Guest
_Владимир__

Почему такая большая разница по скорости. Неужели Firebird маленький да удаленький.

Производительность Оракла "немного" зависит от того, как он настроен.
А настроить его можно - под Ваши нужды как угодно.
Можно на чтение. Можно на запись. Можно на использование в однопользовательском режиме, а можно на использование десятков и тысяч пользователей.
В Вашем случае - вообще не понятно, что с чем вы сравниваете.
Тест - некорректен.
Хотите, чтоб Оракл вставлял быстрее?-)
init.ora - покажите - Вам подскажут, как сделать, чтоб быстрее вставляло :)

wbr
22 янв 07, 08:59    [3672959]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
_Владимир__
Member

Откуда:
Сообщений: 356
init.ora

#
# Copyright (c) 1991, 2000 by Oracle Corporation
#
##############################################################################
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you customize
# your RDBMS installation for your site. Important system parameters
# are discussed, and example settings given.
#
# Some parameter settings are generic to any size installation.
# For parameters that require different values in different size
# installations, three scenarios have been provided: SMALL, MEDIUM
# and LARGE. Any parameter that needs to be tuned according to
# installation size will have three settings, each one commented
# according to installation size.
#
# Use the following table to approximate the SGA size needed for the
# three scenarious provided in this file:
#
# -------Installation/Database Size------
# SMALL MEDIUM LARGE
# Block 2K 4500K 6800K 17000K
# Size 4K 5500K 8800K 21000K
#
# To set up a database that multiple instances will be using, place
# all instance-specific parameters in one file, and then have all
# of these files point to a master file using the IFILE command.
# This way, when you change a public
# parameter, it will automatically change on all instances. This is
# necessary, since all instances must run with the same value for many
# parameters. For example, if you choose to use private rollback segments,
# these must be specified in different files, but since all gc_*
# parameters must be the same on all instances, they should be in one file.
#
# INSTRUCTIONS: Edit this file and the other INIT files it calls for
# your site, either by using the values provided here or by providing
# your own. Then place an IFILE= line into each instance-specific
# INIT file that points at this file.
#
# NOTE: Parameter values suggested in this file are based on conservative
# estimates for computer memory availability. You should adjust values upward
# for modern machines.
#
###############################################################################

db_name = "example"

instance_name = example

service_names = example

db_files = 1024

control_files = ("D:\oracle\oradata\example\control01.ctl", "D:\oracle\oradata\example\control02.ctl", "D:\oracle\oradata\example\control03.ctl")

open_cursors = 300
max_enabled_roles = 30
db_file_multiblock_read_count = 8

db_block_buffers = 2464

shared_pool_size = 15728640

large_pool_size = 614400
java_pool_size = 0

log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800

processes = 150

parallel_max_servers = 5

log_buffer = 32768

#audit_trail = true # if you want auditing
#timed_statistics = true # if you want timed statistics
max_dump_file_size = 10240 # limit trace file size to 5M each

# Uncommenting the line below will cause automatic archiving if archiving has
# been enabled using ALTER DATABASE ARCHIVELOG.
# log_archive_start = true
# log_archive_dest_1 = "location=D:\oracle\oradata\example\archive"
# log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
#rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6 )

# Global Naming -- enforce that a dblink has same name as the db it connects to
global_names = true

# Uncomment the following line if you wish to enable the Oracle Trace product
# to trace server activity. This enables scheduling of server collections
# from the Oracle Enterprise Manager Console.
# Also, if the oracle_trace_collection_name parameter is non-null,
# every session will write to the named collection, as well as enabling you
# to schedule future collections from the console.
# oracle_trace_enable = true

oracle_trace_collection_name = ""
# define directories to store trace and alert files
background_dump_dest = D:\oracle\admin\example\bdump
#Uncomment this parameter to enable resource management for your database.
#The SYSTEM_PLAN is provided by default with the database.
#Change the plan name if you have created your own resource plan.# resource_manager_plan = system_plan
user_dump_dest = D:\oracle\admin\example\udump

db_block_size = 8192

remote_login_passwordfile = exclusive

os_authent_prefix = ""

# The following parameters are needed for the Advanced Replication Option
job_queue_processes = 4
job_queue_interval = 60
open_links = 4

distributed_transactions = 10
compatible = 8.1.0
sort_area_size = 65536
sort_area_retained_size = 65536
22 янв 07, 09:07    [3672985]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
SeaGate
Member

Откуда: Новосибирск
Сообщений: 1728

_Владимир__
Сделал два цикла на вставку милиона записей и там и там.
....

10 миЛлионов
_Владимир__
Почему такая большая разница по скорости. Неужели
Firebird маленький да
удаленький.

Да Вам Oracle то и не нужен вовсе, если Вы собираетесь аналогичные по
сложности задачи с его помощью решать. И смысла в таком сравнении нет
никакого, разве только самолюбие поклонников Firebird потещить.

Posted via ActualForum NNTP Server 1.3

22 янв 07, 09:13    [3673005]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
_Владимир__
Member

Откуда:
Сообщений: 356
В смысле, не понял!!
22 янв 07, 09:22    [3673038]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Бабичев Сергей
Member

Откуда:
Сообщений: 2506
_Владимир__
В смысле, не понял!!
В смысле SeаGate хотел сказать, что работа в однопользовательском режиме с табличкой на 10миллионов записей - это совсем не то, для чего нужен Oracle.
Для оракле - это как для комбайна скосить колосок - дольше будет заводить и ехать на поле, нежели заниматься жатвой...
Ну или как для карьерного эксковатора ковыряние в детской песочнице.
22 янв 07, 09:43    [3673127]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
ы!
Guest
_Владимир__
В смысле, не понял!!


Сравнение СУБД на SQL.RU
Для начала сюда.
Хотя бы чтоб посмотреть, как приблизительно сравнивают СУБД.
С инишником я конечно погорячился, т.к. - не понятно что у вас за машина, сколько там памяти, что там за ОС, сколько памяти можно отдать базе, сколько там дисков, как лежат файлы базы.... это только начальный набор параметров от которого можно отталкиваться при настройке.

А что касаемо вставки миллиона (10) записей, то Вам сказали, что для такой задачи будет достаточно firebird. А Oracle с такой ерундой можно вообще не трогать. Хотя - всё очень сильно зависит от задачи, которую вы решаете. Если у вас потом будут десятки тысяч пользователей....
А вооще - тема не для этого форума.
22 янв 07, 09:45    [3673138]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
ы!

init.ora - покажите - Вам подскажут, как сделать, чтоб быстрее вставляло :)
wbr

Что ты, что автор...
22 янв 07, 10:06    [3673237]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
ы!
Guest
Apex
ы!

init.ora - покажите - Вам подскажут, как сделать, чтоб быстрее вставляло :)
wbr

Что ты, что автор...

Погорячился я. Извините.
22 янв 07, 10:08    [3673253]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
Даже несмотря на полную бессмысленность теста, вот в это вызывает сомнения
_Владимир__

FireBird сделал это за 4 сек 063 мс

По 2,5 млн в сек? Ты уверен?
22 янв 07, 10:49    [3673530]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Бабичев Сергей
Member

Откуда:
Сообщений: 2506
Apex
Даже несмотря на полную бессмысленность теста, вот в это вызывает сомнения
_Владимир__

FireBird сделал это за 4 сек 063 мс

По 2,5 млн в сек? Ты уверен?


Сдается мне, автор просто числа путает:
Владимир__
Сделал два цикла на вставку милиона записей и там и там.


З.Ы.
Как вариант - в Оракле он делел тест с 10 000 000 записями, а в FB - как и написал - с 1 000 000
22 янв 07, 10:54    [3673573]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
kennethr
Member

Откуда:
Сообщений: 175
Все уже сказано, но не могу удержаться. Для oracle в помощь hint APPEND, forall для PL\SQL. Еще с хранением таблицы пошаманить.
22 янв 07, 11:11    [3673694]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Longsvano
Member

Откуда:
Сообщений: 51
Не крутя нигде:

DROP TABLE T1;
CREATE TABLE T1(
ID NUMBER(10)
);

CREATE OR REPLACE TYPE  NumberType IS TABLE OF NUMBER(10);
/
DECLARE
	BigArray NumberType := NumberType();
	MaxLength NUMBER(10) := 1e5;
BEGIN
	FOR Index1$ IN 1..10 LOOP
		BigArray.DELETE;
		
		BigArray.EXTEND(MaxLength);
		FOR Index1$ IN 1..MaxLength LOOP
			BigArray(Index1$) := Index1$;
		END LOOP;
		FORALL Index1$ IN 1..BigArray.COUNT 
			INSERT INTO T1 VALUES (BigArray(Index1$));		
	END LOOP;
END;
/

PL/SQL procedure successfully completed.

Elapsed: 00:00:05.66
22 янв 07, 12:26    [3674308]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Alexei Unregistered
Guest
Приведенный пример с forall + insert всего лишь
демонстрирует тот факт, что PL/SQL выполняется
в режиме интерпретатора и что время уходит
не на вставку данных, а на "интерпретаторное"
выполнение цикла. В плюс "птичке" как раз то,
что она выполняется в native коде.
23 янв 07, 12:08    [3679758]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
olegloa
Member

Откуда:
Сообщений: 252
Как только PSQL птички будет по функционалу хотябы 10% от функционала PL/SQL мы будем обсжудать его плюсы и минусы :-), а пока что

insert into t select rownum from dual connect by rownum < 1000001;

и птицы усе нерво курят :-)
23 янв 07, 14:16    [3680792]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FBUser
Guest
olegloa
Как только PSQL птички будет по функционалу хотябы 10% от функционала PL/SQL мы будем обсжудать его плюсы и минусы :-), а пока что

insert into t select rownum from dual connect by rownum < 1000001;

и птицы усе нерво курят :-)


Курят... курят, патаму что давно уже фсе сделали... вот так:

1. Добавим для удобства такую палезную працыдурку (ораклистам такой не видать):

create or alter  procedure DUAL(num integer = 1) returns(id integer)
as
begin
  id = 0;
  while (num > 0) do
  begin
    id = id + 1;
    num = num -1;
    suspend;
  end
end;

2. сделаем инсертег:
  insert into t select id from dual(1000000);

:-P (на dual core 2.2 ГГц ~7 секунд курили ыыы)

3. Читаем запрос вышеприведенного инсерта, и видим что там такой корявости как
connect by rownum < 1000001
, предназначенной для рекурсивных запрсов, нет.

З. Ы.

Если сравнивать PL/SQL и PSQL то, когда оракл дойдет до хотябы 10% функциональности, легкости, стандартизованности птички, то тогда и поговорим... а пока оракл пусть толкает самопальный "стандарт". (читайте Language Reference, хлопцы)
30 мар 09, 16:34    [6994284]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15504
FBUser,

шли бы вы отсюда. вас здесь не поймут, особливо с тестами типа,

а я попробовал ковырять в зубах граблями и чёта фигово получается
30 мар 09, 16:57    [6994496]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FBUser
Guest
orawish,

Ты тему читал? Сам уходи... и раз уж тебя это задело, то тебе, вопрос:

я думаю ты догадываешся что делает эта процедура:

create or alter  procedure DUAL(num integer = 1) returns(id integer)
as
begin
  id = 0;
  while (num > 0) do
  begin
    id = id + 1;
    num = num -1;
    suspend;
  end
end;

Если ОРАКЛ так силен (ты сравнил его с граблями, кстати), то скажи как это реализовать на нем??? Только не надо меня отсылать к статье с пайпланами, потому что это далеко не то, не надо говорить а зачем, потому что согласись, такая процедурка очень полезна бывает порою.
З. Ы.
Рас уж пошла такая пьянка, попробуй скажи что я не в тему... тема у нас, напоминаю: "Провел тестирование Oracle8.1.7 и FireBird 2,0".
30 мар 09, 17:17    [6994665]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15504
FBUser
orawish,

Ты тему читал? Сам уходи... и раз уж тебя это задело, то тебе, вопрос:

я думаю ты догадываешся что делает эта процедура:

create or alter  procedure DUAL(num integer = 1) returns(id integer)
as
begin
  id = 0;
  while (num > 0) do
  begin
    id = id + 1;
    num = num -1;
    suspend;
  end
end;

Если ОРАКЛ так силен (ты сравнил его с граблями, кстати), то скажи как это реализовать на нем??? Только не надо меня отсылать к статье с пайпланами, потому что это далеко не то, не надо говорить а зачем, потому что согласись, такая процедурка очень полезна бывает порою.
З. Ы.
Рас уж пошла такая пьянка, попробуй скажи что я не в тему... тема у нас, напоминаю: "Провел тестирование Oracle8.1.7 и FireBird 2,0".

1) не догадываюсь
2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные
3) послать я могу гораздо дальше, чем к любой статье

таки шли бы вы в свою песочницу, если хотите - дак вместе с темой
30 мар 09, 17:32    [6994781]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FBUser
Guest
orawish

2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные


Тогда отчегоже ты господин хороший так хвалиш полезный PL/SQL если при всей его мегаполезности на нем низзя написать палезную процедурку

МИСТЕР Я Ф ШОКЕ ВАМ ЗАЧЕТ РЖАЛДОЛГОНЕМОГ
30 мар 09, 18:04    [6994999]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Glok
Member

Откуда:
Сообщений: 3099
FBUser
orawish

2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные


Тогда отчегоже ты господин хороший так хвалиш полезный PL/SQL если при всей его мегаполезности на нем низзя написать палезную процедурку

МИСТЕР Я Ф ШОКЕ ВАМ ЗАЧЕТ РЖАЛДОЛГОНЕМОГ

Моно...
create or replace type ZIS_RCD_BOSS as object
(
f_fio_revers varchar2(50),
f_fio_avers varchar2(50),
f_post varchar2(500),
f_shortname varchar(10),
f_dept_no number(10),
f_dept_id number(10)
)
create or replace type ZIS_VT_BOSS as table of zis_rcd_boss

function get_boss(p_id_dept in integer) return zis_vt_boss is 

cursor cur is select substr(p.imya,1,1 ) ||'. ' ||  substr(p.otchestvo,1,1 ) || '. ' || p.familia fio_revers,
                     p.familia || ' '|| substr(p.imya,1,1 ) ||'. ' ||  substr(p.otchestvo,1,1 ) ||'.' fio_avers,
                     p.spr_dolznost,
                     p.tseh_short,
                     p.tseh,
                     p.tseh_id
              from zis_personal p
              where p.spr_dolznost like 'начал%'
              and p.tseh_id = p_id_dept;              

lc zis_rcd_boss := zis_rcd_boss(NULL ,NULL ,NULL,NULL,NULL,NULL); 
lc_data zis_vt_boss := zis_vt_boss(lc);

res cur%rowtype;

begin
   open cur;
   loop
       fetch cur into res;
       exit when cur%notfound;
       lc.f_fio_revers := res.fio_revers;
       lc.f_fio_avers := res.fio_avers;
       lc.f_post := res.spr_dolznost;
       lc.f_shortname := res.tseh_short;
       lc.f_dept_no := res.tseh;
       lc.f_dept_id := res.tseh_id;
       
       lc_data(lc_data.count) := lc;
       lc_data.extend;   
   
   end loop;
   close cur;
   lc_data.trim;
   return lc_data; 

end get_boss;
Это не 8.1.7.0,
А на 9-10ке моно и проще...
30 мар 09, 18:10    [6995035]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15504
FBUser
orawish

2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные


Тогда отчегоже ты господин хороший так хвалиш полезный PL/SQL если при всей его мегаполезности на нем низзя написать палезную процедурку

МИСТЕР Я Ф ШОКЕ ВАМ ЗАЧЕТ РЖАЛДОЛГОНЕМОГ

всё менее, с каждым постом, уважаемый FBUser, поймите, наконец.
вас тут все поняли. ну и идите с миром. только в сравнение СУБД - не ходите, вам - в ПТ.
определённо, там найдутся желающие померяться с вами пиписькой
30 мар 09, 18:18    [6995080]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
FBUser
Guest
orawish

всё менее, с каждым постом, уважаемый FBUser, поймите, наконец.
вас тут все поняли. ну и идите с миром. только в сравнение СУБД - не ходите, вам - в ПТ.
определённо, там найдутся желающие померяться с вами пиписькой


Дело не в пиписьках, просто вы, неизвестно за что уважаемый, обосрали (простите за французкий) PSQL Птички в посте выше, причем совершенно необоснованно, PSQL практически ничем не уступает Ораклу, а кое в чем даже превосходит. Если нужны пример - или RTFM или спрашивайте, опишу. И в конце концов, вы, повторно, неизвестно за что уважаемый, стали сразу посылать на разные направления... берите пример с Glok он хотя бы попытался привести пример более менее "аналогичной" функциональности. А вы же только посылали...
30 мар 09, 18:55    [6995211]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
Lecter
Member

Откуда: Киев
Сообщений: 2032
Народ прикращяйте холивар :)

Лично для меня приведенная информация в "тесте" не является репрезентативной. Зачем обсуждать?
Или сейчас все дружно накатим Файрберд и будем гонять тесты?
30 мар 09, 19:16    [6995272]     Ответить | Цитировать Сообщить модератору
 Re: Провел тестирование Oracle8.1.7 и FireBird 2,0  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15504
FBUser
orawish
..

просто вы .. обосрали .. PSQL


это где это? ничего не путаете?
если слова про песочницу - дык это я это лично к вам
30 мар 09, 19:37    [6995354]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить