Lindorm memungkinkan Anda mengeksekusi pernyataan SQL sederhana untuk melakukan query, analisis, dan pengelolaan data. Sebelum membuat tabel, Anda harus memahami tipe data dasar yang didukung oleh Lindorm SQL serta batasan terkait.
Mesin yang Berlaku
Tipe data dasar yang dijelaskan dalam bagian ini berlaku untuk LindormTable, LindormTSDB, dan mesin penyimpanan kolom.
Tipe Data Dasar yang Didukung
Tipe Data | Tipe Data Java | Deskripsi |
BOOLEAN | java.lang.Boolean | Nilai dari tipe data ini memiliki panjang 1 byte. Tipe data ini menyimpan nilai boolean. Nilai valid: true dan false. |
TINYINT | java.lang.Byte | Nilai dari tipe data ini memiliki panjang 1 byte. Tipe data ini menyimpan nilai numerik eksak dengan panjang tetap. Rentang nilainya bergantung pada panjang nilai dan apakah nilainya bertanda atau tidak. |
SMALLINT | java.lang.Short | Nilai dari tipe data ini memiliki panjang 2 byte. Tipe data ini menyimpan nilai numerik eksak dengan panjang tetap. Rentang nilainya bergantung pada panjang nilai dan apakah nilainya bertanda atau tidak. |
INTEGER | java.lang.Integer | Nilai dari tipe data ini memiliki panjang 4 byte. Tipe data ini menyimpan nilai numerik eksak dengan panjang tetap. Rentang nilainya bergantung pada panjang nilai dan apakah nilainya bertanda atau tidak. |
BIGINT | java.lang.Long | Nilai dari tipe data ini memiliki panjang 8 byte. Tipe data ini menyimpan nilai numerik eksak dengan panjang tetap. Rentang nilainya bergantung pada panjang nilai dan apakah nilainya bertanda atau tidak. |
FLOAT | java.lang.Float | Nilai dari tipe data ini memiliki panjang 4 byte. Tipe data ini menyimpan nilai numerik perkiraan dengan panjang tetap. Rentang nilai dan presisi bergantung pada panjang nilai, parameter presisi dan skala, serta apakah nilainya bertanda atau tidak. |
DOUBLE | java.lang.Double | Nilai dari tipe data ini memiliki panjang 8 byte. Tipe data ini menyimpan nilai numerik perkiraan dengan panjang tetap. Rentang nilai dan presisi bergantung pada panjang nilai, parameter presisi dan skala, serta apakah nilainya bertanda atau tidak. Semua nilai tipe data DOUBLE dalam pernyataan SQL harus dinyatakan dalam notasi ilmiah. |
DECIMAL(presisi, skala) | java.lang.BigDecimal | Tipe data ini menyimpan nilai biner dengan panjang variabel. Nilai dari tipe data ini dinyatakan dalam notasi desimal. Jumlah byte yang dikonsumsi oleh nilai tipe data ini meningkat seiring dengan peningkatan presisi nilai. Tipe data DECIMAL menyimpan data yang membutuhkan presisi tinggi, seperti jumlah pembayaran. Untuk data lainnya seperti data pemantauan, Anda dapat menggunakan tipe data FLOAT atau DOUBLE. Saat mendefinisikan tipe data DECIMAL, Anda harus menentukan parameter presisi dan skala.
|
VARCHAR / CHAR(N) | java.lang.String | Nilai dari tipe data ini adalah string. Karakter Cina didukung.
|
BINARY(N) | byte[] | Tipe data ini menyimpan nilai biner dengan panjang tetap. N menentukan jumlah byte. Saat Anda menulis nilai dari tipe ini, sistem akan menambahkan byte ke nilai atau menghapus byte dari nilai untuk mencocokkan panjang tetap:
|
VARBINARY | byte[] | Tipe data ini menyimpan nilai biner dengan panjang variabel. Jika kolom dari tipe data ini digunakan sebagai kolom kunci utama, kolom tersebut harus menjadi kolom kunci utama terakhir. |
DATE | java.sql.Types#DATE | Tipe data ini adalah tipe tanggal dan waktu. Namun, sistem hanya menyimpan nilai tanggal tetapi tidak menyimpan nilai waktu. Nilai tanggal ini rentan terhadap kesalahan selama konversi zona waktu. Kami menyarankan agar Anda tidak menggunakan tipe data ini. Untuk informasi lebih lanjut tentang tipe data ini, lihat Informasi Latar Belakang. |
TIME | java.sql.Types#TIME | Tipe data ini menyimpan nilai waktu. Untuk informasi lebih lanjut tentang tipe data ini, lihat Informasi Latar Belakang. |
TIMESTAMP | java.sql.Types#TIMESTAMP | Tipe data ini menyimpan nilai timestamp. Untuk informasi lebih lanjut tentang tipe data ini, lihat Informasi Latar Belakang. Penting Nilai maksimum dari tipe data TIMESTAMP adalah |
Mesin yang Didukung
Tabel berikut menjelaskan tipe data dasar yang didukung oleh LindormTable, LindormTSDB, dan mesin penyimpanan kolom.
〇 menunjukkan bahwa tipe data didukung.
✖️ menunjukkan bahwa tipe data tidak didukung.
Tipe Data | Tipe Data Java | LindormTable | LindormTSDB | Mesin Penyimpanan Kolom |
BOOLEAN | java.lang.Boolean | 〇 | 〇 | 〇 |
TINYINT | java.lang.Byte | 〇 | ✖️ | 〇 |
SMALLINT | java.lang.Short | 〇 | ✖️ | 〇 |
INTEGER | java.lang.Integer | 〇 | ✖️ | 〇 |
BIGINT | java.lang.Long | 〇 | 〇 | 〇 |
FLOAT | java.lang.Float | 〇 | ✖️ | 〇 |
DOUBLE | java.lang.Double | 〇 | 〇 | 〇 |
DECIMAL(presisi, skala) | java.lang.BigDecimal | 〇 | ✖️ | 〇 |
VARCHAR / CHAR(N) | java.lang.String | 〇 | 〇 | 〇 |
BINARY(N) | byte[] | 〇 | ✖️ | 〇 |
VARBINARY | byte[] | 〇 | ✖️ | 〇 |
DATE | java.sql.Types#DATE | 〇 | ✖️ | 〇 |
TIME | java.sql.Types#TIME | 〇 | ✖️ | ✖️ |
TIMESTAMP | java.sql.Types#TIMESTAMP | 〇 | 〇 | 〇 |
Indeks yang Didukung
Untuk mempercepat query, Anda dapat membuat indeks sekunder, indeks pencarian, atau indeks kolom pada data mentah di LindormTable.
Tabel berikut menjelaskan tipe data dasar yang didukung oleh indeks sekunder, indeks pencarian, atau indeks kolom.
〇 menunjukkan bahwa tipe data didukung.
✖️ menunjukkan bahwa tipe data tidak didukung.
Tipe Data | Tipe Data Java | Indeks Sekunder | Indeks Pencarian | Indeks Kolom |
BOOLEAN | java.lang.Boolean | 〇 | 〇 | 〇 |
TINYINT | java.lang.Byte | 〇 | 〇 | 〇 |
SMALLINT | java.lang.Short | 〇 | 〇 | 〇 |
INTEGER | java.lang.Integer | 〇 | 〇 | 〇 |
BIGINT | java.lang.Long | 〇 | 〇 | 〇 |
FLOAT | java.lang.Float | 〇 | 〇 | 〇 |
DOUBLE | java.lang.Double | 〇 | 〇 | 〇 |
DECIMAL(presisi, skala) | java.lang.BigDecimal | 〇 | ✖️ | 〇 |
VARCHAR / CHAR(N) | java.lang.String | 〇 | 〇 | 〇 |
BINARY(N) | byte[] | 〇 | 〇 | 〇 |
VARBINARY | byte[] | 〇 | 〇 | 〇 |
DATE | java.sql.Types#DATE | 〇 | ✖️ | 〇 |
TIME | java.sql.Types#TIME | 〇 | ✖️ | ✖️ |
TIMESTAMP | java.sql.Types#TIMESTAMP | 〇 | 〇 Penting Versi LindormTable harus 2.6.5 atau lebih baru. | 〇 |