Pernyataan: Artikel ini asli milik penulisnya, dan pencetak ulang harus menunjukkannya.
Penulis: Zeng Jin (qq:310575)
Baru-baru ini saya sibuk menguji kinerja perangkat lunak BI perusahaan. Saat ini saya terutama menguji konkurensi dan stabilitas PA ketika CUBE menggunakan ROLAP.
Melibatkan tabel dan dimensi, kubus: tabel fakta sales_fact_1997, tabel dimensi time_by_day cube: penjualan
Konten modifikasi: Hapus dimensi TIME asli, buat dimensi TIME baru, dan ubah kubus PENJUALAN.
Penyisipan data:
1. Penyisipan data fakta: salin data sales_fact_1997 melalui DTS dan penjadwalan. Frekuensinya adalah 10.000 pesan per menit.
Pernyataan SQL yang paling banyak digunakan: pilih 10.000 teratas * dari sales_fact_1997
2. Penyisipan data dimensi: Memasukkan data ke dalam time_by_day melalui pernyataan SQL.
Pernyataan SQL yang digunakan dalam pengujian:
1. Sisipkan tunggal
INSERT INTO time_by_day
(time_id, the_date, the_year, moon_of_year, quarter,day_of_month)
VALUES ('1101', '1999-10-1', '1999', '10', 'Q4','1')
2. Penyisipan tunggal:
MASUKKAN KE dalam waktu_demi_hari
(id_waktu, tanggal_, tahun_, tahun_bulan, kuartal, hari_bulan_)
PILIH TOP 1 id_waktu + 1 SEBAGAI id_waktu, tanggal_+ 1 SEBAGAI tanggal_, TAHUN(tanggal_+ 1)
SEBAGAI tahun_, MONTH(tanggal_+ 1) SEBAGAI tahun_bulan, { fn QUARTER(tanggal_+1)
} SEBAGAI kuartal, HARI(tanggal_+1) SEBAGAI hari_bulan
DARI waktu_demi_hari
DIPESAN BERDASARKAN id_waktu DESC
3. Penyisipan lingkaran:
DECLARE @MyCounter INT
SET @MyCounter = 0 /*Atur variabel*/
WHILE (@MyCounter < 2) /*Atur jumlah loop*/
BEGIN
WAITFOR DELAY '000:00:10' /*Waktu tunda 10 detik*/
INSERT KE dalam waktu_demi_hari
(id_waktu, tanggal_, tahun_, tahun_bulan, kuartal, hari_bulan_)
PILIH TOP 1 id_waktu + 1 SEBAGAI id_waktu, tanggal_+1 SEBAGAI tanggal_, TAHUN(tanggal_+ 1)
SEBAGAI tahun_, MONTH(tanggal_+ 1) SEBAGAI tahun_bulan, { fn TRIWULAN( tanggal_+1)
} SEBAGAI kuartal, HARI(tanggal_+1) SEBAGAI hari_bulan
DARI waktu_demi_hari
DIPESAN BERDASARKAN id_waktu DESC
SET @MyCounter = @MyCounter + 1
AKHIR
4. Masukkan data dengan waktu sebagai variabel
DECLARE @MyCounter INT
deklarasikan @the_date datetime
SET @MyCounter = 0
SET @the_date = '1999-1-4'
WHILE (@MyCounter < 200000)
MULAI
TUNGGU TUNDA '000:00:10'
/*MASUKKAN KE waktu_demi_hari
(id_waktu, tanggal_ , tahun_, tahun_bulan, kuartal, hari_bulan)
PILIH TOP 1 id_waktu + 1 SEBAGAI id_waktu, tanggal_+ 1 SEBAGAI tanggal_, TAHUN(tanggal_+ 1)
SEBAGAI tahun_, MONTH(tanggal_+ 1) SEBAGAI tahun_bulan, { fn QUARTER(tanggal_+1)
} SEBAGAI kuartal, HARI(tanggal_+1) SEBAGAI hari_bulan
DARI
hari_demi_hariORDER BERDASARkan id_waktu DESC
*/
masukkan ke dalam id_waktu (id_waktu,tanggal_)nilai('371',@tanggal_)
SET @tanggal_ = @tanggal_+ 1
SET @Counter Saya = @ Penghitung Saya + 1
AKHIR