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

Как да оптимизирате mysql индексите, така че операциите INSERT да се случват бързо на голяма таблица с чести записи и четения?

Записване на операции за един ред в таблица с данни не трябва отнемат 5 секунди, независимо колко голяма става масата.

Вашият клъстериран индекс базиран ли е на полето за клеймо за време? Ако не, трябва да бъде, така че да не пишете някъде в средата на таблицата си. Също така се уверете, че използвате InnoDB таблици - MyISAM не е оптимизиран за писане.

Бих предложил да напиша на две таблици:една дългосрочна таблица, една краткосрочна отчетна таблица с малко или никакво индексиране, която след това се изхвърля при необходимост.

Друго решение би било да се използва memcached или база данни в паметта за данните за отчитане на живо, така че да няма удари в производствената база данни.

Още една мисъл:колко точно "на живо" трябва да бъде някой от тези доклади? Може би извличане на нов списък на база време вместо веднъж за всеки показването на страница би било достатъчно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql - днес е между две стойности на колони

  2. Грешка при вмъкване на PDO при изпълнение

  3. tomcat + mysql + war с помощта на docker-compose.yml

  4. Кога трябва да се изградят отново индексите на базата данни?

  5. Как мога да заобиколя MySQL Errcode 13 с SELECT INTO OUTFILE?