Od najnowszego kodu źródłowego (nie jest pewne, czy to C lub C++) MySQL, w jaki sposób robi autoinkrement? Mam na myśli, czy jest on skuteczny, ponieważ przechowuje się go jak zasób metadanych w tabeli, w której ostatnio został przerwany, czy też musi wykonać skanowanie tabeli w celu znalezienia największego identyfikatora używanego w tabeli? Czy widzisz również negatywne aspekty korzystania z autoinkrementacji, gdy patrzysz na to, jak jest on implementowany w porównaniu z, powiedzmy, PostgreSQL?MySQL, C++ - programowo, jak działa autoinżynieria MySQL?
Odpowiedz
To będzie zależeć od używanego silnika bazy danych. InnoDB zapisuje największą wartość w pamięci, a nie na dysku. Bardzo wydajny. Sądzę, że większość silników zrobiłaby coś podobnego, ale nie może tego zagwarantować.
InnoDB's Auto Increment zamierza uruchomić poniższe zapytanie raz kiedy DB jest załadowany i zapisać zmienną w pamięci:
SELECT MAX(ai_col) FROM t FOR UPDATE;
Porównując to do PostgreSQL „Kompletna brakiem auto_increment zależy od tego, jak można zaimplementować pole siebie. (Przynajmniej ostatnio go brakowało. Być może się zmieniło). Większość stworzyłaby SEQUENCE. Który wydaje się być przechowywany w pseudo-stole w pamięci. Wziąłbym InnoDB, aby był prostszy i lepszy sposób. Sądzę, że InnoDB byłby bardziej wydajny, gdyby nie były równe.
Okay, więc myślę, że przeczytałem to z InnoDB, gdy baza danych się ładuje, szuka ostatniej sekwencji, a następnie zapisuje ją w pamięci wirtualnej jako część metadanych tabeli. Dzięki. – Volomike
- 1. Jak działa CASE MySQL?
- 2. mysql - jak działa mysqldump?
- 3. Jak działa wyszukiwanie fulltekstowe MySQL?
- 4. Jak działa funkcja automatycznego przyrostu MySQL?
- 5. mysql optymalizacja kwerenda wybierająca i jak działa ograniczenie w mysql
- 6. MECZ MySQL NIE DZIAŁA
- 7. python mysql DELETE nie działa
- 8. C# praktyki połączenia mysql
- 9. Jak działa SELECT DISTINCT w MySQL?
- 10. Ukończenie zakładki MySQL nie działa
- 11. CodeIgniter MySQL kwerenda nie działa
- 12. Dziennik zapytań MySQL nie działa
- 13. Słownik zwrotny skróconego MySQL MySQL
- 14. Zrzut MySQL wewnątrz konsoli mysql
- 15. Jak można uaktualnić MySQL 5.5.40 MySQL 5.7
- 16. Jak programowo ustawić rewriteBatchedStatements dla sterownika jdbc mysql?
- 17. Jak śledzić zapytania MySql przy użyciu MySql-Proxy?
- 18. MySQL | REGEXP VS Podobnie jak
- 19. Ciąg połączenia nie działa z MySQL
- 20. Dlaczego moje zapytanie mysql działa wolno?
- 21. Dlaczego GRANT nie działa w MySQL?
- 22. Autoinżynieria w Google Cloud Spanner
- 23. Compoundjs nie działa z jugglingdb-mysql
- 24. C# MySQL like query not taking parameters
- 25. Licznik sprzężenia zwrotnego MySQL Nie działa
- 26. MySQL 05.05.30 kaskadowo wyzwalacze nie działa
- 27. Cofanie zmian nie działa w MySQL
- 28. Aktualizacja oświadczenie w procedurze mysql nie działa
- 29. MySQL 5.5 na Lion nie działa
- 30. MySQL kwerenda nie działa z NOT IN
Z którego silnika korzystasz? InnoDB) –