Mysql
 sql >> база данни >  >> RDS >> Mysql

Бавни MySQL вмъквания

Може да е време за хоризонтално разделяне и преместване на полето blob в отделна таблица. В тази статия в „Бърза странична бележка за вертикалното разделяне“ авторът премахва по-голямо поле varchar от таблица и това увеличава скоростта на заявка от порядък на величина.

Причината е, че физическото обхождане на данните на диск става значително по-бързо, ако има по-малко място за покриване, така че преместването на по-големи полета другаде повишава производителността.

Също така (и вероятно вече го правите) е полезно да намалите размера на вашата индексна колона до нейния абсолютен минимум (char(32) в ascii кодиране за md5), тъй като размерът на ключа е право пропорционален на скоростта на неговото използване .

Ако правите няколко вмъквания наведнъж с InnoDB таблици, можете значително да увеличите скоростта на вмъквания, като ги обвиете в транзакция и направите няколко вмъквания в една заявка:

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. Дали някой JDBC драйвер поддържа командата LOAD DATA INFILE sql?

  2. Сложна COUNT заявка в MySQL

  3. SQL:Как да изберете редове, които сумират до определена стойност

  4. Обединете таблици със стойности на запетая

  5. Вземете типа на променливата в MySQL