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

MySQL актуализира цялата база данни без прекъсване

Ето нещо, което правя. Това не води до нулев престой, но може да завърши за по-малко от секунда.

Създайте база данни, която има само елементи на интерфейс към вашата реална база данни. В моя случай той съдържа само дефиниции на изгледи и всички потребителски заявки преминават през тази база данни.

Създавайте нова база данни всяка вечер. Когато е направено, актуализирайте дефинициите на изгледа, за да се отнасят към новата база данни. Бих препоръчал или да изключите потребителския достъп до базата данни, съдържаща изгледите, докато ги актуализирате, или да изтриете всички изгледи и да ги създадете отново - това предотвратява частичен достъп до старата база данни. Тъй като създаването на изгледи е бързо, това трябва да бъде много бърза операция.

Ние правим всичко това чрез работа. Всъщност, преди да променим производствените изгледи, ние тестваме създаването на изглед в друга база данни, за да сме сигурни, че всички работят.

Очевидно, ако използвате alter view вместо да се изисква последователност във всички изгледи, тогава няма престой, а само кратък период на непоследователност.




  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. Как мога да използвам mySQL replace() за заместване на низове в множество записи?

  3. Синхронизиране на локална база данни на Microsoft MySQL с отдалечена база данни на mysql, планирано ежедневно

  4. Как да SQL заявя родител-дете за конкретен JSON формат?

  5. MySQL DELETE FROM с подзаявка като условие