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

Sisipan MySQL lambat

Ini bisa menjadi waktu untuk mempartisi horizontal dan memindahkan bidang gumpalan ke tabel terpisah. Dalam artikel ini di 'A Quick Side Note on Vertical Partitioning' penulis menghapus bidang varchar yang lebih besar dari tabel dan itu meningkatkan kecepatan kueri tentang urutan besarnya.

Alasannya adalah traversal fisik data pada disk menjadi lebih cepat secara signifikan jika ada lebih sedikit ruang untuk dicakup, sehingga memindahkan bidang yang lebih besar ke tempat lain akan meningkatkan kinerja.

Juga (dan Anda mungkin sudah melakukannya) bermanfaat untuk mengurangi ukuran kolom indeks Anda ke minimum absolutnya (char(32) dalam pengkodean ascii untuk md5), karena ukuran kunci berbanding lurus dengan kecepatan penggunaannya .

Jika Anda melakukan beberapa penyisipan sekaligus dengan tabel InnoDB, Anda dapat meningkatkan kecepatan penyisipan secara signifikan dengan menggabungkannya ke dalam transaksi dan melakukan beberapa penyisipan dalam satu kueri:

START TRANSACTION
INSERT INTO x (id, md5, field1, field2) values (1, '123dab...', 'data1','data2'),(2,'ab2...','data3','data4'),.....;
COMMIT


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menerapkan pagination data php-mysql menggunakan penyedia data

  2. Menghubungkan ke Server MySQL di localhost melalui Docker

  3. mysqldump tidak berfungsi di crontab

  4. Adakah yang mirip dengan Hibernate di PHP?

  5. SQLDependency setara untuk MySQL