PANDUAN Pelayan SQL

Panduan Pelayan Sql



Dalam siaran ini, kita akan belajar cara menggunakan jenis pengecam unik dalam SQL Server. Kami juga akan menggunakan fungsi NEWID() dan NEWSEQUENTIALID() untuk menjana nilai GUID.

Jenis Pengecam Unik Pelayan SQL

Ini ialah nilai GUID 16-bait yang digunakan dalam lajur atau pembolehubah setempat. Anda boleh mencipta nilai jenis pengecam unik menggunakan fungsi NEWID() dan NEWSEQUENTIALID().

Anda juga boleh menjana nilai GUID dengan menukar nilai rentetan dalam format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx dengan x ialah digit heksadesimal dalam julat 0 – 9.







Disebabkan oleh 'rawak' nilai GUID, ia dijamin bahawa nilai GUID boleh menjadi unik merentas pangkalan data atau malah pelayan. Ini menjadikan jenis data yang sangat baik untuk mengenal pasti nilai tertentu secara unik.



Fungsi SQL Server NEWID().

Fungsi NEWID() membolehkan kami menjana nilai unik baharu jenis pengecam unik. Sintaks adalah seperti yang ditunjukkan:



UBAH ( )

Sebagai contoh:





isytiharkan pengecam unik @gid;
set @gid = CHANGE();
pilih @gid sebagai gid;

Pernyataan di atas harus mengembalikan nilai GUID sebagai:

gid
873412E2-A926-4EAB-B99F-A1E47E727355

Fungsi SQL Server NEWSEQUENTIALID().

Fungsi ini membolehkan anda menjana nilai GUID unik secara berurutan. Ia berfungsi dengan menjana nilai GUID yang lebih besar daripada GUID yang dijana sebelum ini.



Ini menjadikannya berguna untuk digunakan sebagai pengecam baris kerana ia menjana nilai secara berurutan dan bukannya secara manual menentukan nilai GUID seterusnya menggunakan fungsi NEWID().

Sintaks fungsi adalah seperti yang ditunjukkan:

NEWSEQUENTIALID ( )

Menggunakan GUID Pelayan SQL sebagai Pengecam Baris

Contoh berikut menunjukkan cara menggunakan fungsi newsequentialid() sebagai pengecam baris untuk lajur tertentu.

buat entri jadual(
pengecam unik id bukan kunci utama newsequentialid() lalai lalai,
nama_pelayan varchar(50),
alamat_pelayan varchar(255) bukan nol,
kaedah_mampatan varchar(100) lalai 'tiada',
size_on_disk float bukan nol,
size_compressed float,
total_records int bukan null,
tarikh tarikh_init
);
masukkan
ke dalam
ENTRIES(nama_pelayan,
alamat_pelayan,
kaedah_mampatan,
saiz_pada_cakera,
saiz_mampat,
jumlah_rekod,
tarikh_init)
nilai
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19'),
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12'),
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

Dalam contoh di atas, kami menetapkan lajur ID sebagai jenis pengecam unik dan nilai lalai sebagai nilai yang dijana oleh fungsi newsequentialid().

Jadual yang terhasil adalah seperti yang ditunjukkan:

pilih * daripada entri;

Pengeluaran:

Walaupun menggunakan nilai GUID boleh memberikan keunikan yang ketat, ia boleh menjadi sukar apabila menyahpepijat atau memilih nilai tertentu.

Kesimpulan

Dalam panduan ini, anda mempelajari tentang jenis pengecam unik dalam SQL Server. Anda juga mempelajari cara menjana nilai GUID menggunakan fungsi NEWID() dan NEWSEQUENTIALID().