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

MySQL ALTER TABLE на много голяма таблица - безопасно ли е да я стартирате?

Както току-що прочетох, ALTER TABLE ... ORDER BY ... заявката е полезна за подобряване на производителността в определени сценарии. Изненадан съм, че PK Index не помага за това. Но от документите на MySQL , изглежда, че InnoDB прави използвайте индекса. Въпреки това InnoDB има тенденция да е по-бавен като MyISAM. Въпреки това с InnoDB няма да е необходимо да пренареждате таблицата, но ще загубите невероятната скорост на MyISAM. Все пак може да си струва да опитате.

Начинът, по който обяснявате проблемите, изглежда, че има твърде много данни, заредени в паметта (може би дори има размяна?). Можете лесно да проверите това, като наблюдавате използването на паметта си. Трудно е да се каже, тъй като не познавам MySQL толкова добре.

От друга страна, мисля, че проблемът ви се крие на съвсем различно място:Вие използвате машина със само 512 мегабайта RAM като сървър на база данни с таблица, съдържаща повече от 4 милиона реда... И изпълнявате много памет. операция на цялата маса на тази машина. Изглежда, че 512Megs няма да са достатъчни за това.

Много по-фундаментален проблем, който виждам тук:Вие правите разработка (и много вероятно също тествате) в среда, която е много различна от производствената среда. Видът на проблема, който обяснявате, е очакван. Вашата машина за разработка има шест пъти повече памет от вашата производствена машина. Вярвам, че мога спокойно да кажа, че процесорът също е много по-бърз. В такъв случай ви предлагам да създадете виртуална машина, имитираща вашия производствен сайт. По този начин можете лесно да тествате проекта си, без да нарушавате производствения сайт.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да попълним дупките в полетата за автоматично увеличение?

  2. вграждане на mysql база данни в java приложение

  3. Как да импортирате/възстановявате MySql таблици с помощта на PHP

  4. MySQL пагинация без двойна заявка?

  5. Python MySQL - SELECTs работят, но не и DELETE?