powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Провел тестирование Oracle8.1.7 и FireBird 2,0
25 сообщений из 83, страница 1 из 4
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271067
_Владимир__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал две абсолютно одинаковых таблицы в оракле и 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 маленький да удаленький.
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271095
ы!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы!
Гость
_Владимир__
Почему такая большая разница по скорости. Неужели Firebird маленький да удаленький.
Производительность Оракла "немного" зависит от того, как он настроен.
А настроить его можно - под Ваши нужды как угодно.
Можно на чтение. Можно на запись. Можно на использование в однопользовательском режиме, а можно на использование десятков и тысяч пользователей.
В Вашем случае - вообще не понятно, что с чем вы сравниваете.
Тест - некорректен.
Хотите, чтоб Оракл вставлял быстрее?-)
init.ora - покажите - Вам подскажут, как сделать, чтоб быстрее вставляло :)

wbr
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271108
_Владимир__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271113
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Владимир__Сделал два цикла на вставку милиона записей и там и там.
....
10 миЛлионов
_Владимир__ Почему такая большая разница по скорости. Неужели
Firebird маленький да
удаленький.
Да Вам Oracle то и не нужен вовсе, если Вы собираетесь аналогичные по
сложности задачи с его помощью решать. И смысла в таком сравнении нет
никакого, разве только самолюбие поклонников Firebird потещить.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271125
_Владимир__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле, не понял!!
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271173
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Владимир__В смысле, не понял!!В смысле SeаGate хотел сказать, что работа в однопользовательском режиме с табличкой на 10миллионов записей - это совсем не то, для чего нужен Oracle.
Для оракле - это как для комбайна скосить колосок - дольше будет заводить и ехать на поле, нежели заниматься жатвой...
Ну или как для карьерного эксковатора ковыряние в детской песочнице.
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271178
ы!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы!
Гость
_Владимир__В смысле, не понял!!

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

А что касаемо вставки миллиона (10) записей, то Вам сказали, что для такой задачи будет достаточно firebird. А Oracle с такой ерундой можно вообще не трогать. Хотя - всё очень сильно зависит от задачи, которую вы решаете. Если у вас потом будут десятки тысяч пользователей....
А вооще - тема не для этого форума.
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271227
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ы!
init.ora - покажите - Вам подскажут, как сделать, чтоб быстрее вставляло :)
wbr
Что ты, что автор...
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271233
ы!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ы!
Гость
Apex ы!
init.ora - покажите - Вам подскажут, как сделать, чтоб быстрее вставляло :)
wbr
Что ты, что автор...
Погорячился я. Извините.
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271365
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже несмотря на полную бессмысленность теста, вот в это вызывает сомнения
_Владимир__
FireBird сделал это за 4 сек 063 мс

По 2,5 млн в сек? Ты уверен?
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271381
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexДаже несмотря на полную бессмысленность теста, вот в это вызывает сомнения
_Владимир__
FireBird сделал это за 4 сек 063 мс

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

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

З.Ы.
Как вариант - в Оракле он делел тест с 10 000 000 записями, а в FB - как и написал - с 1 000 000
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271434
kennethr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все уже сказано, но не могу удержаться. Для oracle в помощь hint APPEND, forall для PL\SQL. Еще с хранением таблицы пошаманить.
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34271767
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не крутя нигде:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DROP TABLE T1;
CREATE TABLE T1(
ID NUMBER( 10 )
);

CREATE OR REPLACE TYPE  NumberType IS TABLE OF NUMBER( 10 );
/
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
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 
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34274656
Alexei Unregistered
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведенный пример с forall + insert всего лишь
демонстрирует тот факт, что PL/SQL выполняется
в режиме интерпретатора и что время уходит
не на вставку данных, а на "интерпретаторное"
выполнение цикла. В плюс "птичке" как раз то,
что она выполняется в native коде.
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #34275293
olegloa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как только PSQL птички будет по функционалу хотябы 10% от функционала PL/SQL мы будем обсжудать его плюсы и минусы :-), а пока что

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

и птицы усе нерво курят :-)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35900956
FBUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegloaКак только PSQL птички будет по функционалу хотябы 10% от функционала PL/SQL мы будем обсжудать его плюсы и минусы :-), а пока что

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

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

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

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
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. сделаем инсертег:
Код: plaintext
  insert into t select id from dual( 1000000 );

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

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

З. Ы.

Если сравнивать PL/SQL и PSQL то, когда оракл дойдет до хотябы 10% функциональности, легкости, стандартизованности птички, то тогда и поговорим... а пока оракл пусть толкает самопальный "стандарт". (читайте Language Reference, хлопцы)
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901025
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBUser,

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

а я попробовал ковырять в зубах граблями и чёта фигово получается
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901097
FBUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish,

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

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
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".
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901137
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBUserorawish,

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

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
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) послать я могу гораздо дальше, чем к любой статье

таки шли бы вы в свою песочницу, если хотите - дак вместе с темой
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901230
FBUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish
2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные


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

МИСТЕР Я Ф ШОКЕ ВАМ ЗАЧЕТ РЖАЛДОЛГОНЕМОГ
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901247
Glok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBUserorawish
2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные


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

МИСТЕР Я Ф ШОКЕ ВАМ ЗАЧЕТ РЖАЛДОЛГОНЕМОГ
Моно...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
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 )
)
Код: plaintext
create or replace type ZIS_VT_BOSS as table of zis_rcd_boss

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
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ке моно и проще...
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901264
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBUserorawish
2) процедурка и полезная в оракле (если не знаете) - две вещи полово-противоположные


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

МИСТЕР Я Ф ШОКЕ ВАМ ЗАЧЕТ РЖАЛДОЛГОНЕМОГ
всё менее, с каждым постом, уважаемый FBUser, поймите, наконец.
вас тут все поняли. ну и идите с миром. только в сравнение СУБД - не ходите, вам - в ПТ.
определённо, там найдутся желающие померяться с вами пиписькой
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901336
FBUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawish
всё менее, с каждым постом, уважаемый FBUser, поймите, наконец.
вас тут все поняли. ну и идите с миром. только в сравнение СУБД - не ходите, вам - в ПТ.
определённо, там найдутся желающие померяться с вами пиписькой

Дело не в пиписьках, просто вы, неизвестно за что уважаемый, обосрали (простите за французкий) PSQL Птички в посте выше, причем совершенно необоснованно, PSQL практически ничем не уступает Ораклу, а кое в чем даже превосходит. Если нужны пример - или RTFM или спрашивайте, опишу. И в конце концов, вы, повторно, неизвестно за что уважаемый, стали сразу посылать на разные направления... берите пример с Glok он хотя бы попытался привести пример более менее "аналогичной" функциональности. А вы же только посылали...
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901378
Lecter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ прикращяйте холивар :)

Лично для меня приведенная информация в "тесте" не является репрезентативной. Зачем обсуждать?
Или сейчас все дружно накатим Файрберд и будем гонять тесты?
...
Рейтинг: 0 / 0
Провел тестирование Oracle8.1.7 и FireBird 2,0
    #35901428
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBUserorawish..
просто вы .. обосрали .. PSQL

это где это? ничего не путаете?
если слова про песочницу - дык это я это лично к вам
...
Рейтинг: 0 / 0
25 сообщений из 83, страница 1 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Провел тестирование Oracle8.1.7 и FireBird 2,0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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