Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara saya meminta bantuan untuk mengoptimalkan &memperbaiki kueri di MySQL?

Gunakan SHOW CREATE TABLE

Ini memberi tahu saya lebih banyak tentang tabel Anda daripada kata-kata Anda:

mysql> show create table magic\G
*************************** 1. row ***************************
       Table: magic
Create Table: CREATE TABLE `magic` (
  `id` int(11) DEFAULT NULL,
  `what` varchar(255) DEFAULT NULL,
  `the` datetime DEFAULT NULL,
  `heck` text,
  `soup_is_good` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

PERINGATAN :Jika Anda memiliki 70 kolom di tabel Anda, hilangkan yang tidak perlu . Apa perlu?

  • Bidang BERGABUNG pada
  • Bidang DIPILIH
  • Bidang MANA di

Gunakan EXPLAIN

Ini memungkinkan saya melihat cara terbaik untuk mengoptimalkan kueri Anda yang saat ini berfungsi, namun mungkin lambat:

mysql> explain select *     from magic\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: magic
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 1
        Extra: 
1 row in set (0.00 sec)

Gunakan \G

Harus menggulir ke kanan adalah umumnya ketidaknyamanan.

Biasa:

mysql> select * from magic;
+------------+-------------------------------+---------------------+-------------------+--------------+
| id         | what                          | the                 | heck              | soup_is_good |
+------------+-------------------------------+---------------------+-------------------+--------------+
| 1000000000 | A really long text string yay | 2009-07-29 22:28:17 | OOOH A TEXT FIELD |        100.5 | 
+------------+-------------------------------+---------------------+-------------------+--------------+
1 row in set (0.00 sec)

Lebih baik:

mysql> select * from magic\G
*************************** 1. row ***************************
          id: 1000000000
        what: A really long text string yay
         the: 2009-07-29 22:28:17
        heck: OOOH A TEXT FIELD
soup_is_good: 100.5
1 row in set (0.00 sec)

PERINGATAN: \G jelas mengubah satu baris data menjadi beberapa. Ini menjadi sama rumitnya untuk beberapa baris data. Lakukan apa yang terlihat terbaik.

Gunakan pastebin eksternal untuk potongan data yang sangat besar:

Beri tahu kami harapan Anda

  • Lambat? - Kami tidak tahu apa yang lambat bagi Anda. Detik, menit, jam? Ini membantu untuk mengetahuinya.
  • Lebih cepat - Kami juga tidak tahu ini. Apa harapan Anda tentang puasa?
  • Frekuensi - Apakah ini kueri yang Anda rencanakan untuk dijalankan sekali saja? Sehari-hari? Ratusan atau ribuan kali sehari? Ini membantu kami mengetahui kapan Cukup Baik .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa susunan MySQL terbaik untuk bahasa Jerman?

  2. Bagaimana saya bisa menonaktifkan sementara batasan kunci asing di MySQL?

  3. Sakit kepala Mysql 5.6 di Mac OSX

  4. Bagaimana cara mengambil cadangan Database MySQL dan meletakkannya di Amazon s3 setiap Malam dengan menggunakan tab Cron?

  5. Lihat apakah lat / long termasuk dalam poligon menggunakan mysql