Czy można ustawić różne indeksowanie na slave tylko do odczytu, od na master? Zasadniczo wydaje się, że ma to sens, biorąc pod uwagę różne wymagania obu systemów, ale chcę się upewnić, że to zadziała i nie spowoduje żadnych problemów.Czy możesz indeksować tabele inaczej na Master i Slave (MySQL)?
Odpowiedz
Tak sądzę. Po powieleniu działa, możesz upuścić indeksy na slave i utworzyć indeksy, które chcesz i że powinno to zrobić. Ponieważ MySQL replikuje instrukcje, a nie dane (przynajmniej domyślnie), tak długo, jak SQL niezbędny do wstawienia lub aktualizacji lub wyboru z tabeli nie musi się zmieniać, nie powinien tego zauważyć.
Teraz są oczywiście wady tego. Jeśli utworzysz unikatowy klucz, którego nie ma w urządzeniu nadrzędnym, możesz uzyskać dane wstawione do urządzenia nadrzędnego, których nie można włożyć do urządzenia podrzędnego. Jeśli aktualizacja zostanie wykonana przy użyciu indeksu, może działać szybko na wzorzec, ale powoduje skanowanie tabeli na slave (ponieważ nie masz żadnego indeksu był przydatny).
A jeśli jakiekolwiek zmiany DDL kiedykolwiek staną się na kapitanie (np. W celu zmiany indeksu), które zostaną przekazane do niewolnika i nowy indeks zostanie utworzony tam również, nawet jeśli nie chcesz tego.
Oczywiście, uważam, że nawet powszechną praktyką jest replikowanie tabel InnoDB w tabelach MyISAM na niewolniku, aby móc dodawać indeksy pełnotekstowe.
Na pewno. Ciągle to robię. Problemy Zabrakło mi:
- indeksów odsyłania poprzez
FORCE/USE/IGNORE INDEX
wSELECTS
będzie error out - indeksy odniesienie w
ALTER
statments na wzorcu może złamać replikacji - Dodaje kolejny krok do promowania niewolnika być mistrzem w przypadku awarii:
- Jeśli używasz replikacji opartej na instrukcjach (norma) i bawisz się indeksami
UNIQUE
, wszelkie statystykiINSERT... ON DUPLICATE KEY
,INSERT IGNORE
lubREPLACE
spowodują ekstremalne dryfowanie danych/d ivergence - różnice wydajności (zarówno dobre i złe)
Jak zmienić tabelę niewolników? – jeffry
- 1. PDO SELECT z SLAVE i INSERT do MASTER
- 2. Hudson - Instrukcja krok po kroku konfiguracji maszyn master i slave
- 3. Rails Octopus Gem - Master-Slave Replikacja połączenia zachowanie, gdy slave jest w dół
- 4. Czy możesz używać liczb jako nazw tabel w MySQL?
- 5. Jenkins slave numer portu na zaporze
- 6. Czy tabele bazy danych systemu MySQL można przekonwertować na InnoDB?
- 7. Czy możesz replikować określoną bazę danych lub tabelę za pomocą RDS Amazon
- 8. Pętla MySQL poprzez tabele
- 9. Tabele statyczne pamięci podręcznej Mysql
- 10. Czy istnieje jakaś różnica między `git merge origin master` i` git merge origin/master`?
- 11. Wybierz JOIN MySQL 3 Tabele
- 12. MySQL: kolejność sortowania "POKAŻ TABELE"
- 13. MySQL: Transakcje kontra tabele blokujące
- 14. MySQL LEFT JOIN 3 tabele
- 15. MySql zaktualizuj dwie tabele naraz
- 16. Innodb i tymczasowe tabele
- 17. Czy możesz duplikować wiersz bez znajomości schematu w MySQL?
- 18. Czy możesz ponownie użyć zestawu wyników mysql w PHP?
- 19. mysql zapytanie dwie tabele, UNION i gdzie klauzula
- 20. Czy możesz upuszczać pakiety Golanga na zapisy zamiast blokować?
- 21. Na RDS mogę tworzyć tabele w Read Replica, które nie są obecne w Master?
- 22. Jak indeksować i udostępniać kod wielokrotnego użytku?
- 23. Przeszukaj wszystkie tabele za pomocą MySQL Workbench
- 24. tabele show mysql sortuj według nazwy tabeli
- 25. upuść tabele za pomocą regex - MySQL
- 26. Jak zablokować tabele mysql w php
- 27. Mysql zapytanie do przyłączenia się trzy tabele
- 28. Hibernate: Utwórz tabele Mysql InnoDB zamiast MyISAM
- 29. Czy urządzenie Postgresql SERIAL działa inaczej?
- 30. sterowania użytkownika i JavaScript i Master Pages
jak można zmienić tabelę niewolnikiem? – jeffry