Rumah pangkalan data tutorial mysql 糟糕的sql语句_MySQL

糟糕的sql语句_MySQL

Jun 01, 2016 pm 01:34 PM
pernyataan sql pelayan angkasa lepas

bitsCN.com

糟糕的sql语句

 

   同事传过来一个sql,说此sql运行期间大量占用服务器磁盘空间,大约将近10个G的空间,效率超慢

 

   SELECT MIN(order_id), MAX(order_id) FROM (select *,date(order_creation_date) create_date from orders where  (1 = 1) ) AS t1 

 

 1  又是一个糟糕的sql,select  *  from  table_name 这种格式的sql是绝对不允许的 

 

 2  刚开始,没看明白这个sql是要干嘛的,为什么要从这个表里查询数据呢?select *,date(order_creation_date) create_date from orders where  (1 = 1),作为嵌套表。

 

3 在查询过程中,为什么会占用磁盘空间

 

    中间产生了临时表,内存中放不下这么多数据,把数据拷贝到磁盘中,一般在 /tmp 下面   产生类似 #sql_***.MYD,#sql_***.MYI 这样的文件,其实就是一个myisam表。

 

这样拷贝的过程浪费时间,影响性能。

 

    咨询同事,只是想查询出order_id的最大值,最小值。  看了一下orders表结构,orders的order_id是自增主键,那就简单了, 直接改写如下

 

 select max(order_id),min(order_id)  from orders 

order_id 是自增主键,上面已经建了索引,而且是有序的,因此对于max min这种复合函数求最大最少值非常的快。

 

bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan fungsi iif dalam excel Cara menggunakan fungsi iif dalam excel Mar 20, 2024 pm 06:10 PM

Kebanyakan pengguna menggunakan Excel untuk memproses data jadual Malah, Excel juga mempunyai program VBA fungsi fungsi adalah serupa. Biar saya perkenalkan kepada anda penggunaan fungsi iif. Terdapat fungsi iif dalam pernyataan SQL dan kod VBA dalam Excel. Fungsi iif adalah serupa dengan fungsi IF dalam lembaran kerja excel Ia melakukan pertimbangan nilai benar dan salah dan mengembalikan hasil yang berbeza berdasarkan nilai benar dan salah yang dikira secara logik. JIKA penggunaan fungsi adalah (syarat, ya, tidak). Penyataan IF dan fungsi IIF dalam VBA Penyataan IF dahulu ialah penyataan kawalan yang boleh melaksanakan penyataan yang berbeza mengikut syarat yang terakhir

Bagaimana untuk mengkonfigurasi Dnsmasq sebagai pelayan geganti DHCP Bagaimana untuk mengkonfigurasi Dnsmasq sebagai pelayan geganti DHCP Mar 21, 2024 am 08:50 AM

Peranan geganti DHCP adalah untuk memajukan paket DHCP yang diterima ke pelayan DHCP lain pada rangkaian, walaupun kedua-dua pelayan berada pada subnet yang berbeza. Dengan menggunakan geganti DHCP, anda boleh menggunakan pelayan DHCP berpusat di pusat rangkaian dan menggunakannya untuk menetapkan alamat IP secara dinamik kepada semua subnet/VLAN rangkaian. Dnsmasq ialah pelayan protokol DNS dan DHCP yang biasa digunakan yang boleh dikonfigurasikan sebagai pelayan geganti DHCP untuk membantu mengurus konfigurasi hos dinamik dalam rangkaian. Dalam artikel ini, kami akan menunjukkan kepada anda cara mengkonfigurasi dnsmasq sebagai pelayan geganti DHCP. Topik Kandungan: Topologi Rangkaian Mengkonfigurasi Alamat IP Statik pada Geganti DHCP D pada Pelayan DHCP Berpusat

Bagaimana untuk menanyakan log pangkalan data oracle Bagaimana untuk menanyakan log pangkalan data oracle Apr 07, 2024 pm 04:51 PM

Maklumat log pangkalan data Oracle boleh ditanya dengan kaedah berikut: Gunakan penyata SQL untuk membuat pertanyaan dari paparan v$log gunakan alat LogMiner untuk menganalisis fail log gunakan arahan ALTER SYSTEM untuk melihat status fail log semasa; Arahan TRACE untuk melihat maklumat tentang peristiwa tertentu menggunakan operasi Alat sistem melihat pada akhir fail log.

Bagaimana untuk menggunakan pernyataan sql untuk menanyakan struktur penyimpanan pangkalan data mysql Bagaimana untuk menggunakan pernyataan sql untuk menanyakan struktur penyimpanan pangkalan data mysql Apr 14, 2024 pm 07:45 PM

Untuk menanyakan struktur storan pangkalan data MySQL, anda boleh menggunakan pernyataan SQL berikut: SHOW CREATE TABLE table_name pernyataan ini akan mengembalikan definisi lajur dan maklumat pilihan jadual bagi jadual, termasuk nama lajur, jenis data, kekangan dan sifat umum jadual; , seperti enjin storan dan set aksara.

Bagaimana untuk mengeksport data yang ditanya dalam navicat Bagaimana untuk mengeksport data yang ditanya dalam navicat Apr 24, 2024 am 04:15 AM

Eksport hasil pertanyaan dalam Navicat: Laksanakan pertanyaan. Klik kanan hasil pertanyaan dan pilih Eksport Data. Pilih format eksport seperti yang diperlukan: CSV: Pemisah medan ialah koma. Excel: Termasuk pengepala jadual, menggunakan format Excel. Skrip SQL: Mengandungi pernyataan SQL yang digunakan untuk mencipta semula hasil pertanyaan. Pilih pilihan eksport (seperti pengekodan, pemisah baris). Pilih lokasi eksport dan nama fail. Klik "Eksport" untuk memulakan eksport.

Bagaimana untuk memasang sambungan PHP FFmpeg pada pelayan? Bagaimana untuk memasang sambungan PHP FFmpeg pada pelayan? Mar 28, 2024 pm 02:39 PM

Bagaimana untuk memasang sambungan PHPFFmpeg pada pelayan? Memasang sambungan PHPFFmpeg pada pelayan boleh membantu kami memproses fail audio dan video dalam projek PHP dan melaksanakan fungsi seperti pengekodan, penyahkodan, penyuntingan dan pemprosesan fail audio dan video. Artikel ini akan memperkenalkan cara memasang sambungan PHPFFmpeg pada pelayan, serta contoh kod tertentu. Pertama, kita perlu memastikan bahawa PHP dan FFmpeg dipasang pada pelayan. Jika FFmpeg tidak dipasang, anda boleh mengikuti langkah di bawah untuk memasang FFmpe

Bagaimana untuk menyelesaikan kegagalan permulaan pangkalan data mysql Bagaimana untuk menyelesaikan kegagalan permulaan pangkalan data mysql Apr 14, 2024 pm 07:12 PM

Untuk menyelesaikan isu kegagalan permulaan pangkalan data MySQL, ikuti langkah berikut: Semak kebenaran dan pastikan anda menggunakan pengguna dengan kebenaran yang sesuai. Jika pangkalan data sudah wujud, padamkannya atau pilih nama lain. Jika jadual sudah wujud, padamkannya atau pilih nama lain. Semak pernyataan SQL untuk ralat sintaks. Sahkan bahawa pelayan MySQL sedang berjalan dan boleh disambungkan. Sahkan bahawa anda menggunakan nombor port yang betul. Semak fail log MySQL atau Pencari Kod Ralat untuk butiran ralat lain.

Bagaimana untuk melaksanakan pernyataan sql dalam pangkalan data mysql Bagaimana untuk melaksanakan pernyataan sql dalam pangkalan data mysql Apr 14, 2024 pm 07:48 PM

Penyata MySQL SQL boleh dilaksanakan dengan: Menggunakan MySQL CLI (Antaramuka Talian Perintah): Log masuk ke pangkalan data dan masukkan pernyataan SQL. Menggunakan MySQL Workbench: Mulakan aplikasi, sambung ke pangkalan data, dan laksanakan pernyataan. Gunakan bahasa pengaturcaraan: import perpustakaan sambungan MySQL, buat sambungan pangkalan data, dan laksanakan pernyataan. Gunakan alat lain seperti Pelayar DB untuk SQLite: muat turun dan pasang aplikasi, buka fail pangkalan data dan laksanakan penyata.

See all articles