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

Mengubah dari varchar ke mediumtext menyebabkan penurunan kinerja

Kedua tipe data ditangani secara hampir identik. Ada banyak kemungkinan penyebab kelambanan lainnya. (Tapi tidak ada yang saya tahu yang akan mengatakan MEDIUMTEXT lebih buruk dari VARHAR .)

Jadi... Mari kita lihat apakah kita bisa mempercepat halaman web...

Masukan microtime(true) di sekitar panggilan mysql -- untuk memastikan itu MySQL, bukan PHP. "0.019secs" masuk akal; "1,5 - 2 detik" terdengar seperti ada sesuatu yang terjadi di PHP.

Gunakan InnoDB, bukan ISAM saya. (Terlepas dari klaim Anda sebaliknya.)

Tune dengan benar; mari kita lihat SHOW VARIABLES LIKE '%buffer%'; Berapa banyak RAM yang Anda miliki? (Bertukar sangat buruk untuk kinerja.)

Berapa banyak baris yang Anda kembalikan? Tidak praktis untuk memiliki lebih dari beberapa lusin pada halaman web, jadi tambahkan ORDER BY...LIMIT... .

Jika batas UI adalah 1000 karakter, gunakan TEXT atau VARCHAR(1000) , bukan MEDIUMTEXT . Jika Anda mencoba meningkatkan hingga 64K byte (berpotensi 4K utf8mb4 karakter ), lalu gunakan TEXT .

Anda memang membutuhkan ini (dengan kolom di kedua urutan):

INDEX(part_id, language)

Jika ada banyak "churn" (penghapusan dan/atau pembaruan diikuti oleh lebih banyak sisipan) di tabel MyISAM, data dapat terfragmentasi, sehingga lambat. Ini dapat terjadi untuk keduanya VARCHAR dan TEXT . Ini tidak terjadi dengan InnoDB.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python - Konektor SQL:Pembaruan tidak berfungsi

  2. MySQL Joins:memilih tabel mana yang akan digabungkan berdasarkan data tabel sumber

  3. MySQL:Bagaimana cara menambahkan satu hari ke bidang datetime dalam kueri

  4. dapatkan 2 hari yang lalu kueri di mysql

  5. Bagaimana cara memilih entri dari hubungan ini?