Rumah > Artikel > pangkalan data > Bila hendak menggunakan jadual sementara dalam mysql
Apabila menggunakan jadual sementara dalam mysql: 1. Apabila menggunakan algoritma TEMPTABLE atau pandangan dalam pertanyaan UNION 2. Apabila menggunakan pertanyaan DISTINCT dan menambah ORDER BY 3. Apabila menggunakan "SQL_SMALL_RESULT" dalam SQL " pilihan; 4. Apabila menggunakan subquery dalam FROM, dsb.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
MySQL akan mencipta jadual sementara dalam situasi berikut:
1 🎜>2. Gunakan algoritma TEMPTABLE atau pandangan dalam pertanyaan UNION; lajur BY tidak ada dalam jadual pemacu; . Subquery dalam FROM; Meja sementara.
Sudah tentu, jika jumlah data yang perlu disimpan dalam jadual sementara melebihi had atas (tmp-table-size atau max-heap-table-size, yang mana lebih besar), maka anda perlu untuk menjana jadual Sementara berasaskan cakera.
Dalam situasi berikut, jadual sementara cakera akan dibuat:1 Jadual data mengandungi lajur BLOB/TEXT
2. Dalam lajur GROUP BY atau DSTINCT, terdapat lajur jenis aksara melebihi 512 aksara (atau lajur jenis binari melebihi 512 bait, sebelum 5.6.15, hanya sama ada ia melebihi 512 bait
3. UNION, UNION SEMUA pertanyaan, terdapat lajur dengan panjang maksimum melebihi 512 (512 aksara untuk jenis rentetan, 512 bait untuk jenis binari);
4 hasil pelaksanaan menggunakan jenis lajur BLOB.
Bermula dari 5.7.5, terdapat pilihan sistem baru internal_tmp_disk_storage_engine yang boleh menentukan jenis enjin jadual sementara cakera sebagai InnoDB sebelum ini, hanya MyISAM yang boleh digunakan. Pilihan sistem baharu default_tmp_storage_engine ditambah selepas 5.6.3 mengawal jenis enjin jadual sementara yang dibuat oleh CREATE TEMPORARY TABLE Pada masa lalu, lalainya ialah MEMORY.
Lihat contoh berikut:
Pembelajaran yang disyorkan:
tutorial video mysql
Atas ialah kandungan terperinci Bila hendak menggunakan jadual sementara dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!