ďťż
 
[ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?= ďťż
 
[ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?=



jerry - 04-01-2007 14:09
[ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?=
  Witam,
W schemacie jest tabela bardzo często odpytywana przez aplikacje.
Pojawiło się wymaganie dodania kolumny typu BLOB w celu trzymania w
bazie obrazka (ok 80 - 100 KB). Obrazki muszą być w bazie - to odpowiedź
na ew. sugestie by trzymać poza oracle.
Mam wątpliwosc co będzie bardziej optymalne czy dodać tę kolumnę BLOB do
istniejącej tabeli czy dodać osobną tabelę na BLOBy i FK do niej?
Dodam, że docelowo każdy wiersz tej tabeli będzie musiał mieć ten tą
kolumne BLOB uzupełnioną (not null). Zapytania do tej tabeli są
najczęstszymi zapytaniami w systemie i zawsze mają sprecyzowane które
kolumny są wyciągane.
Uważam, że rozwiązaniem korzystniejszym jest osobna tabela w osobnej
przestrzeni by nie zwiększać tak drastycznie rozmiaru dotychczasowej
tabeli. Czy idę właściwym tropem?
Z góry dziękuję za sugestie i rzeczowe argumenty które pozwolą mi
podjąć decyzje.





=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 04-01-2007 14:09

  jerry wrote:
> W schemacie jest tabela bardzo często odpytywana przez aplikacje.
> Pojawiło się wymaganie dodania kolumny typu BLOB w celu trzymania w
> bazie obrazka (ok 80 - 100 KB). Obrazki muszą być w bazie - to odpowiedź
> na ew. sugestie by trzymać poza oracle.
> Mam wątpliwosc co będzie bardziej optymalne czy dodać tę kolumnę BLOB do
> istniejącej tabeli czy dodać osobną tabelę na BLOBy i FK do niej?

http://download-uk.oracle.com/docs/c...b14249/toc.htm

Przeczytanie nawet samego pierwszego rozdziału Introduction to Large Objects
powinno dać Ci odpowiedź (ale reszta też nie zawadzi).

--
Michał Kuratczyk




dap - 04-01-2007 14:10

 
> Uważam, że rozwiązaniem korzystniejszym jest osobna tabela w osobnej
> przestrzeni by nie zwiększać tak drastycznie rozmiaru dotychczasowej
> tabeli. Czy idę właściwym tropem?

Ja bym tak zrobił. O ile możesz zrób nawet osobne Tablespace dla tej
tabeli, w razie czego łatwiej o backup i recovery.

dap




=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 04-01-2007 14:10

  dap wrote:
>> Uważam, że rozwiązaniem korzystniejszym jest osobna tabela w osobnej
>> przestrzeni by nie zwiększać tak drastycznie rozmiaru dotychczasowej
>> tabeli. Czy idę właściwym tropem?
> Ja bym tak zrobił. O ile możesz zrób nawet osobne Tablespace dla tej
> tabeli, w razie czego łatwiej o backup i recovery.
Ale przecież można umieścić logicznie LOBa w głównej tabeli, a trzymać go
osobno, choćby w innym tablespace, czy wręcz poza jakimkolwiek tablespace.

http://download-uk.oracle.com/docs/c...g.htm#i1006574

--
Michał Kuratczyk





Lucyna Witkowska - 04-01-2007 14:10

  jerry <j@op.pl> napisał:
> Uważam, że rozwiązaniem korzystniejszym jest osobna tabela w osobnej
> przestrzeni by nie zwiększać tak drastycznie rozmiaru dotychczasowej
> tabeli. Czy idę właściwym tropem?

Nie. Tak robilo sie dla typow LONG i LONG RAW, dla typow LOB tego nie
potrzeba robic.
Jesli w tabeli jest kolumna LOB, to powstaja osobne segmenty
trzymajace indeks i zawartosc tej kolumny. Oracle to robi "w tle".
W segmencie wlasciwej tabeli trzymane sa tylko odnosniki do tych
segmentow. To co chcesz zrobic to IMO niepotrzebne dublowanie struktury.
Przy tworzeniu tabeli mozna tez podac w jakiej przestrzeni maja byc
tworzone segmenty zawartosci i indeksu dla LOBow.

Pozdrowienia,
--
Lucyna Witkowska




dap - 05-01-2007 00:04

 
> Ale przecież można umieścić logicznie LOBa w głównej tabeli, a trzymać go
> osobno, choćby w innym tablespace, czy wręcz poza jakimkolwiek tablespace.

Mozna, ale wiesz jak z reki sprawdzić parametry STORAGE dla LOBa, ja nie
:D? Wydaje mi się, że osobna tabela jest bardziej przejrzystym
rozwiązaniem. Dodatkowo jakoś nie lubię zmieniać definicji tabel online.
Zresztą w razie wersjonowania czy np. potrzeby zrobienia miniaturek
będzie to bardziej elastyczne, niż dodawanie kolejnej kolumny...

dap




=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 06-01-2007 00:02

  dap wrote:
>> Ale przecież można umieścić logicznie LOBa w głównej tabeli, a trzymać go
>> osobno, choćby w innym tablespace, czy wręcz poza jakimkolwiek
>> tablespace.
> Mozna, ale wiesz jak z reki sprawdzić parametry STORAGE dla LOBa, ja nie
> :D?
Tak jak zawsze przez DBMS_METADATA.GET_DDL? Chyba, że nie rozumiem pytania.

> Wydaje mi się, że osobna tabela jest bardziej przejrzystym
> rozwiązaniem.
Tyle tylko, że Oracle de facto to właśnie robi w tle. A skoro on to już
robi, to po co robić to samemu? Tym bardziej, że te automatyczne mechanizmy
zadziałają także dla tej Twojej dodatkowej tabeli, więc będziesz miał
tabele główną połączoną z tabelą na LOBy, a Oracle i tak te LOBy będzie
trzymał osobno.

> Dodatkowo jakoś nie lubię zmieniać definicji tabel online.
Przykład był akurat jak to zrobić po utworzeniu tabeli, ale można oczywiście
podać to już przy CREATE TABLE. Chyba, że znowu czegoś nie rozumiem. Może
jest za wcześnie? ;-)

--
Michał Kuratczyk
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle 19g +Insert +Insert +Insert... MSSQL Express czy Oracle Express [Oracle, Toad] Zaladowanie obiektu w TOAD [Oracle][Reports30] 10G nie dziala razem z Reports3.0 [Oracle] catalog.sql i catproc.sql - bledy klient oracle (zmiana domyslna klienta oracla) [oracle] [xml] XML na bazie istniejacej struktury ? [Oracle] W jaki sposób skopiować całą zawartość schemy jednego użytkownika do nowo utworzonego użytkownika? klient Oracle 10g SE a Windows 98 SE Oracle Standard Edition One - czym sie rozni od wersji standard iexpress?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ptsite.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com