MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana UNCOMPRESS() Bekerja di MariaDB

Di MariaDB, UNCOMPRESS() adalah fungsi bawaan yang membuka kompresi string yang telah dikompresi oleh COMPRESS() fungsi.

Sintaks

Sintaksnya seperti ini:

UNCOMPRESS(string_to_uncompress)

Dimana string_to_uncompress adalah string yang ingin Anda buka kompresinya.

Contoh

Berikut ini contoh dasarnya:

SELECT UNCOMPRESS(COMPRESS('Marching on'));

Hasil:

+-------------------------------------+
| UNCOMPRESS(COMPRESS('Marching on')) |
+-------------------------------------+
| Marching on                         |
+-------------------------------------+

Memeriksa Ukuran

Berikut ini contoh dasarnya:

SELECT
    LENGTH(REPEAT('z', 50)) AS "Uncompressed",
    LENGTH(COMPRESS(REPEAT('z', 50))) AS "Compressed",
    LENGTH(UNCOMPRESS(COMPRESS(REPEAT('z', 50)))) AS "Uncompressed";

Hasil:

+--------------+------------+--------------+
| Uncompressed | Compressed | Uncompressed |
+--------------+------------+--------------+
|           50 |         16 |           50 |
+--------------+------------+--------------+

Di sini, saya menggunakan LENGTH() fungsi untuk mendapatkan panjang dalam byte dari string terkompresi dan terkompresi masing-masing. Saya menggunakan REPEAT() berfungsi untuk mengulang huruf yang sama sebanyak 50 kali sebelum mengompresnya.

Berikut contoh lain yang menggunakan simbol hak cipta (© ), yang merupakan karakter dua byte:

SELECT
    LENGTH(REPEAT('©', 50)) AS "Uncompressed",
    LENGTH(COMPRESS(REPEAT('©', 50))) AS "Compressed",
    LENGTH(UNCOMPRESS(COMPRESS(REPEAT('©', 50)))) AS "Uncompressed";

Hasil:

+--------------+------------+--------------+
| Uncompressed | Compressed | Uncompressed |
+--------------+------------+--------------+
|          100 |         17 |          100 |
+--------------+------------+--------------+

Ini yang menggunakan karakter tiga byte:

SELECT
    LENGTH(REPEAT('อ', 50)) AS "Uncompressed",
    LENGTH(COMPRESS(REPEAT('อ', 50))) AS "Compressed",
    LENGTH(UNCOMPRESS(COMPRESS(REPEAT('อ', 50)))) AS "Uncompressed";

Hasil:

+--------------+------------+--------------+
| Uncompressed | Compressed | Uncompressed |
+--------------+------------+--------------+
|          150 |         18 |          150 |
+--------------+------------+--------------+

Argumen Null

Melewati null mengembalikan null :

SELECT UNCOMPRESS(null);

Hasil:

+------------------+
| UNCOMPRESS(null) |
+------------------+
| NULL             |
+------------------+

Argumen Tidak Ada

Memanggil UNCOMPRESS() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:

SELECT UNCOMPRESS();

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UNCOMPRESS'

Periksa Kompresi

UNCOMPRESS() fungsi membutuhkan MariaDB telah dikompilasi dengan perpustakaan kompresi seperti zlib. Jika MariaDB belum dikompilasi dengan pustaka kompresi seperti itu, UNCOMPRESS() mengembalikan null .

Anda dapat memeriksa have_compress variabel sistem untuk melihat apakah pustaka kompresi zlib dapat diakses ke server atau tidak:

SELECT @@have_compress;

Hasil:

+-----------------+
| @@have_compress |
+-----------------+
| YES             |
+-----------------+

Dalam hal ini, library kompresi zlib dapat diakses oleh server, dan hasilnya adalah YES .

Jika library kompresi zlib tidak dapat diakses ke server, hasilnya adalah NO .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Analisis dengan MariaDB AX - tThe Open Source Columnar Datastore

  2. Manajemen Dasar MaxScale Menggunakan MaxCtrl untuk MariaDB Cluster

  3. Menyebarkan Database dan Cluster yang Sangat Tersedia dengan ClusterControl

  4. Tips dan Trik untuk Menerapkan Kontrol Akses Berbasis Peran Database untuk MariaDB

  5. Pemantauan MySQL Proaktif (Studio Pengembang/Sudut Penasihat)