Potrzebuję przechowywać (duże) zapytanie SQL w kolumnie tabeli i myślałem, że przy użyciu pola BLOB
. Aby było jasne, chcę zapisać zapytanie, a nie jego wynik.Oracle BLOB vs VARCHAR
Co najlepiej użyć: BLOB
lub VARCHAR
? A może coś jeszcze?
Potrzebuję przechowywać (duże) zapytanie SQL w kolumnie tabeli i myślałem, że przy użyciu pola BLOB
. Aby było jasne, chcę zapisać zapytanie, a nie jego wynik.Oracle BLOB vs VARCHAR
Co najlepiej użyć: BLOB
lub VARCHAR
? A może coś jeszcze?
Jeśli zamierzasz przechowywać dane tekstowe, które nie mieszczą się w VarChar2
, to myślę, że powinieneś użyć CLOB
.
Cytat z OraFaq: * CLOB (Character Large Object) to typ danych Oracle, który może przechowywać do 4 GB danych. CLOB są przydatne do przechowywania tekstu. *
Oba są różne.
Używasz BLOB
do przechowywania danych binarnych, takich jak obraz, dźwięk i inne dane multimedialne.
i VARCHAR
do przechowywania tekstu o dowolnym rozmiarze do limitu.
Inną opcją jest CLOB. W przypadku danych tekstowych bardziej logiczne jest użycie CLOB niż BLOB. Nawet jeśli nie musisz analizować danych w bazie danych, nadal może być sens używanie CLOB, ponieważ nawet przeglądanie danych jest łatwiejsze.
Niektóre funkcje są dostępne tylko przy użyciu VARCHAR. Na przykład możesz utworzyć indeks tylko w kolumnach VARCHAR (nie mówię tu o indeksie pełnotekstowym, wiem, że możesz utworzyć indeks pełnotekstowy w kolumnie CLOB). Nie możesz mieć klucza podstawowego CLOB lub BLOB (chyba nie potrzebujesz tego, jak przykład).
Większość operacji VARCHAR działa dużo szybciej niż operacje CLOB/BLOB. Nawet czytanie danych jest szybsze, jeśli używasz VARCHAR (chyba że w kolumnie jest naprawdę dużo tekstu). VARCHAR potrzebuje mniej pamięci, ale zwykle będzie w pełni czytany w pamięci, więc na końcu VARCHAR może nadal korzystać z większej ilości pamięci.
To jest najlepsza odpowiedź, ponieważ wyjaśnia różnice między kolumnami varchar i clob. – Anomaly
Krótkie ciągi → Varchar
długie ciągi → Clob
Dane binarne → BLOB
tak, myślę, że mój tekst nie zmieści się w VARCHAR. Dziękuję za wyjaśnienie. –