Judul ini adalah pertanyaannya. Saya ingin tahu jawabannya. Seseorang memberi tahu
pilih ke minimal login di database model pemulihan sederhana ... Saya tidak masuk sama sekali.
Kutipan dari Microsoft:
Jumlah logging untuk SELECT ... INTO tergantung pada model pemulihan yang berlaku untuk database. Di bawah model pemulihan sederhana atau model pemulihan log-massal, operasi massal dicatat secara minimal. Dengan pencatatan minimum, menggunakan pernyataan SELECT… INTO bisa lebih efisien daripada membuat tabel dan kemudian mengisi tabel dengan pernyataan INSERT
Mencari bantuan
Terima kasih
SELECT INTO
dapat di- log minimal saat tidak menggunakan Pemulihan Penuh.Jawaban:
Beberapa ide / teori:
SELECT INTO ... memungkinkan RDBMS menentukan urutan sortir berdasarkan urutan tabel asli Anda. Jika Anda memasukkan ke dalam tabel yang ada, mungkin ada semacam yang diperlukan untuk mencocokkan indeks berkerumun atau tidak tercakup.
Tanpa Indeks - ketika Anda
SELECT INTO...
, RDBMS tahu dengan pasti, tidak ada indeks yang sudah ada untuk diperbarui.Tidak Ada Pertentangan - karena tabel yang Anda masukkan tidak ada, SQL Server tidak perlu khawatir tentang penguncian tingkat baris atau penanganan pertengkaran. Tidak ada lagi yang bisa mereferensikan tabel yang Anda buat karena tidak ada.
Semua yang dikatakan, ada cara lain untuk memasukkan tabel dengan sangat cepat.
Pastikan kunci indeks berkerumun Anda cocok bila memungkinkan. Ini berarti tidak ada penyortiran on-the-fly
Nonaktifkan semua indeks yang tidak berkerumun. Cukup jelas.
Atur mode pemulihan ke sederhana dan lacak flag 610 ke
ON
. GunakanTABLOCK
petunjuk di tabel target Anda danNOLOCK
petunjuk di tabel sumber Anda.Misalnya, anggap tablea dan tableb memiliki indeks berkerumun yang sama:
Dalam pengalaman saya ini lebih cepat daripada menggunakan
SELECT INTO...
dan kemudian membuat indeks berkerumun sesudahnya. Harap perhatikan ini juga dapat berfungsi pada tabel yang sudah memiliki data di dalamnya yang merupakan skenario yang jauh lebih berguna.EDIT:
Berikut adalah whitepaper fantastis fantastis dari MS untuk kinerja beban data di Sql Server 2008.
sumber