Memilih Jenis Data yang Sesuai
Pilih jenis data paling cekap untuk lajur anda bagi meminimumkan storan dan mengoptimumkan pemprosesan pertanyaan.
Memilih Jenis Data yang Sesuai ialah pelajaran Prestasi PostgreSQL & Pengoptimuman Pertanyaan percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Prestasi PostgreSQL & Pengoptimuman Pertanyaan, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Prestasi PostgreSQL & Pengoptimuman Pertanyaan merangkumi sejumlah 4 pelajaran.
Mengapa Jenis Data Penting
Memilih jenis data yang betul untuk lajur anda dalam PostgreSQL ialah langkah asas dalam mereka bentuk pangkalan data yang cekap.
Pilihan ini mempengaruhi storan, prestasi pertanyaan dan integriti data. Memilih jenis yang tepat memastikan data anda disimpan dengan cekap dan diproses dengan pantas.
Memilih Jenis Integer
PostgreSQL menyediakan beberapa jenis integer, setiap satunya dengan saiz storan dan julat nilai yang berbeza:
SMALLINT: 2 bait, julat -32,768 hingga +32,767INTEGER(atauINT): 4 bait, julat -2,147,483,648 hingga +2,147,483,647BIGINT: 8 bait, julat -9,223,372,036,854,775,808 hingga +9,223,372,036,854,775,807
Sentiasa pilih jenis integer terkecil yang boleh menyimpan julat data yang dijangka dengan selamat untuk meminimumkan ruang cakera dan meningkatkan prestasi.
Demo Jenis Integer
Mari lihat cara jenis integer yang berbeza ditakrifkan. Perhatikan bahawa kita memilih jenis terkecil yang sesuai dengan nilai tersebut.
CREATE TABLE product_counts (
small_count SMALLINT,
medium_count INTEGER,
large_count BIGINT
);
INSERT INTO product_counts (small_count, medium_count, large_count)
VALUES (100, 50000, 1000000000);
SELECT * FROM product_counts;Ketepatan Numerik
Apabila mengendalikan nombor perpuluhan, khususnya nilai kewangan, ketepatan amat penting:
NUMERIC(p, s): Menyimpan nombor tepat.pialah jumlah keseluruhan digit (ketepatan), manakalasialah bilangan digit selepas titik perpuluhan (skala). Penting untuk data kewangan.REAL(4 bait) danDOUBLE PRECISION(8 bait): Menyimpan nombor titik apungan anggaran. Jenis ini lebih pantas tetapi boleh menghasilkan ralat pembundaran kecil, jadi tidak sesuai untuk wang.
Gunakan NUMERIC apabila ketepatan mutlak diperlukan; gunakan REAL atau DOUBLE PRECISION untuk pengiraan saintifik atau pengiraan yang kurang kritikal apabila anggaran boleh diterima.
Pilihan Penyimpanan Teks
Untuk menyimpan rentetan teks, PostgreSQL menyediakan:
VARCHAR(n): Rentetan dengan panjang berubah-ubah dan panjang maksimumnyang ditentukan oleh pengguna. Jika anda cuba memasukkan rentetan yang lebih panjang, rentetan itu akan dipendekkan atau ralat akan berlaku.TEXT: Rentetan dengan panjang berubah-ubah tanpa panjang maksimum yang ditetapkan secara jelas. Ini sering menjadi pilihan yang paling fleksibel.CHAR(n): Rentetan dengan panjang tetap. Jika rentetan lebih pendek daripadan, ruang akan ditambah padanya. Secara umum, jenis ini tidak digalakkan kerana berpotensi menjejaskan prestasi dan membazirkan ruang.
Bagi kebanyakan aplikasi moden, VARCHAR (tanpa panjang, berfungsi seperti TEXT) atau TEXT sahaja lebih digemari kerana fleksibiliti dan penyimpanan yang cekap.
VARCHAR berbanding TEXT
Berikut ialah contoh yang menunjukkan VARCHAR dengan kekangan panjang dan TEXT tanpanya. Kedua-duanya menyimpan data dengan cekap berdasarkan panjang sebenar.
CREATE TABLE messages (
short_msg VARCHAR(50),
long_msg TEXT
);
INSERT INTO messages (short_msg, long_msg)
VALUES ('Hello World', 'This is a much longer message that can span multiple lines and characters.');
SELECT short_msg, LENGTH(short_msg), long_msg, LENGTH(long_msg) FROM messages;Mengendalikan Tarikh & Masa
PostgreSQL menyediakan jenis tarikh/masa yang mantap:
DATE: Menyimpan tarikh sahaja (tahun, bulan, hari).TIME: Menyimpan waktu sahaja (jam, minit, saat, saat pecahan).TIMESTAMP: Menyimpan tarikh dan masa. Ia tidak menyimpan maklumat zon waktu.TIMESTAMPTZ(TIMESTAMP WITH TIME ZONE): Menyimpan tarikh dan masa, kemudian menukarkannya kepada UTC semasa penyimpanan. Ini ialah jenis yang disyorkan untuk kebanyakan aplikasi bagi mengelakkan masalah berkaitan zon waktu.
Sentiasa utamakan TIMESTAMPTZ untuk cap masa peristiwa, kecuali terdapat sebab yang sangat khusus untuk tidak menggunakannya.
Jenis Khas: Boolean & UUID
Dua lagi jenis data yang berguna:
BOOLEAN: Menyimpan nilai benar/palsu. Jenis ini sangat cekap dan hanya memerlukan 1 bait ruang penyimpanan. PostgreSQL menerima 'true', 'false', 't', 'f', '1', '0', 'yes', 'no' sebagai input.UUID: Menyimpan Pengecam Unik Sejagat. Nilai ini terdiri daripada 128 bit dan berguna untuk menjana kunci utama unik tanpa persaingan pada jujukan pangkalan data, khususnya dalam sistem teragih.
UUID boleh dijana oleh PostgreSQL menggunakan fungsi seperti gen_random_uuid() daripada sambungan pgcrypto.
Overhed Penukaran Jenis
Walaupun PostgreSQL sering mengendalikan penukaran jenis tersirat (contohnya, menukar rentetan '123' kepada integer), proses ini melibatkan kos prestasi.
Apabila anda membandingkan atau menggabungkan lajur yang mempunyai jenis data berbeza, PostgreSQL mungkin perlu melakukan penukaran pada salah satu atau kedua-dua belah, lalu menghalang penggunaan indeks dan memperlahankan pertanyaan.
Sentiasa usahakan agar lajur yang dibandingkan dan digabungkan mempunyai jenis data yang sama. Jika penukaran diperlukan, gunakan penukaran jenis secara jelas (contohnya, column::INTEGER) supaya maksudnya jelas dan kadangkala membantu perancang pertanyaan.
Cabaran Jenis Data
Bayangkan anda sedang mereka bentuk sebuah jadual untuk menyimpan butiran pendaftaran pengguna. Satu lajur perlu menyimpan sama ada pengguna telah mengesahkan e-mel mereka, manakala satu lagi perlu menyimpan ID pengguna yang unik dan boleh dikenal pasti secara global serta boleh dijana di mana-mana sahaja.
Ringkasan Jenis Data
Kita telah membincangkan kepentingan memilih jenis data yang sesuai untuk prestasi, penyimpanan dan integriti.
- Pilih jenis integer terkecil yang dapat menampung data anda.
- Gunakan
NUMERICuntuk nilai perpuluhan tepat (seperti wang). - Utamakan
TIMESTAMPTZuntuk menyimpan tarikh dan masa dengan kesedaran zon waktu. BOOLEANpaling sesuai untuk penanda benar/palsu, manakalaUUIDsesuai untuk pengecam unik sejagat.- Elakkan penukaran jenis yang tidak diperlukan bagi mengekalkan prestasi pertanyaan.
Pemilihan jenis data yang teliti merupakan asas penting bagi reka bentuk pangkalan data yang cekap.
Pelajari SQL dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 22
- Pelajaran
- 88
Soalan Lazim
Adakah pelajaran “Memilih Jenis Data yang Sesuai” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Prestasi PostgreSQL & Pengoptimuman Pertanyaan, termasuk “Memilih Jenis Data yang Sesuai”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Prestasi PostgreSQL & Pengoptimuman Pertanyaan merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memilih Jenis Data yang Sesuai”?
Pilih jenis data paling cekap untuk lajur anda bagi meminimumkan storan dan mengoptimumkan pemprosesan pertanyaan. Anda berlatih Prestasi PostgreSQL & Pengoptimuman Pertanyaan menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Prestasi PostgreSQL & Pengoptimuman Pertanyaan?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Prestasi PostgreSQL & Pengoptimuman Pertanyaan di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Memilih Jenis Data yang Sesuai” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Prestasi PostgreSQL & Pengoptimuman Pertanyaan ini?
Ya. Setiap pelajaran Prestasi PostgreSQL & Pengoptimuman Pertanyaan menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pertukaran Normalisasi dan Denormalisasi
- Memilih Jenis Data yang Sesuai
- Membahagi Jadual Besar
- Mereka Bentuk Kunci Utama dan Kunci Pengganti