Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Dampak mendefinisikan kolom VARCHAR2 dengan panjang yang lebih besar

Jawabannya tergantung pada apakah Anda sedang berbicara tentang kolom dalam tabel database, atau variabel dalam program PL/SQL.

Kolom basis data

Jumlah penyimpanan yang digunakan sebanding dengan ukuran data yang disimpan.

Variabel PL/SQL

Jika variabel dideklarasikan dengan ukuran 1 hingga 4000 (11g+) / 1999 (10g atau sebelumnya), memori akan dialokasikan untuk panjang maksimum (yaitu VARCHAR2(100) akan membutuhkan setidaknya 100 byte memori).

Jika variabel dideklarasikan dengan ukuran 4001 (11g+) / 2000 (10g atau sebelumnya) atau lebih besar, memori akan dialokasikan sesuai dengan ukuran data yang disimpan. (pertanyaan sampingan yang menarik adalah, jika nilai variabel diubah, bagaimana ukuran memori diubah - apakah itu mengalokasikan kembali buffer lain dengan ukuran baru?)

Referensi untuk 10g:Tipe Data PL/SQL

Variabel VARCHAR2 kecil dioptimalkan untuk kinerja, dan variabel yang lebih besar dioptimalkan untuk penggunaan memori yang efisien. Titik potongnya adalah 2000 byte. Untuk VARCHAR2 yang 2000 byte atau lebih, PL/SQL secara dinamis mengalokasikan hanya cukup memori untuk menyimpan nilai sebenarnya. Untuk variabel VARCHAR2 yang lebih pendek dari 2000 byte, PL/SQL mengalokasikan terlebih dahulu panjang variabel yang dideklarasikan. Misalnya, jika Anda menetapkan nilai 500 byte yang sama ke variabel VARCHAR2(2000 BYTE) dan ke variabel VARCHAR2(1999 BYTE), yang pertama membutuhkan 500 byte dan yang terakhir membutuhkan 1999 byte.

Referensi untuk 11g:Menghindari Overhead Memori dalam Kode PL/SQL

Tentukan ukuran lebih dari 4000 karakter untuk variabel VARCHAR2; PL/SQL menunggu hingga Anda menetapkan variabel, lalu hanya mengalokasikan penyimpanan sebanyak yang diperlukan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengekspor Hasil Kueri ke File CSV di SQL Developer (Oracle)

  2. TO_DATE() Fungsi di Oracle

  3. Hal Yang Harus Anda Ketahui Sebelum Mempelajari Oracle

  4. Bagaimana kita bisa menentukan ukuran parameter output dalam prosedur tersimpan?

  5. 24 pertanyaan Wawancara Manajer Serentak yang Luar Biasa