| | | | |
| |||||||
| Datenbanken SQL und Co |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | row-level-Locking wie du es nennst, ist die "normale" Arbeitsweise von InnoDB, wird im Manual und entsprechenden Erklärungen immer als DER Unterschied zu MyIsam dargestellt (neben Transaktionen), wobei das automatische Locking einer Zeile quasi nur für die kurze Zeit eines INSERT / UPDATE / REPLACE gilt, länger muss ja die Zeile nicht blockiert werden, ich selbst habe für meine Hauptanwendung einen Sperrmechanismus drübergestülpt, der verhindert, dass mehr als 1 User den gleichen Datensatz schreiben kann. Der erste User erhält Schreibzugriff, für die weiteren User ist der Datensatz lesbar, aber die können nicht speichern - dafür muss der "erste" User seinen Datensatz speichern und schließen und für den Rest - um ehrlich zu sein, ich wusste nicht mal, dass man solchen Aufwand treiben kann / muss - vielleicht für dein gemeinsames Löschen ganzer Tabellen-Abschnitte ... bei mir betrifft das Anwendungsszenario einzelne Datensätze, die ihrerseits 1:1 mit weiteren Datensätzen verknüpft sind - und Löschen ist bei mir gar nicht vorgesehen.... Wegen Revisionssicherheit werden bei mir Datensätze nur über Flags 2-stufig archiviert, verbleiben aber in der / den Tabellen, wobei mein gesamtes Datenaufkommen eher bescheiden ist (nach 1,5 Jahren kommen wir auf ca 30-40 MB, Wachstumsrate max 1-2 MB pro Monat)
__________________ "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste Geändert von eagle275 (10.01.2012 um 10:57 Uhr). |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | dein Anwendungsfall aus der anderen Frage liefert ein Beispiel, wo es vielleicht gebraucht wird - aber wie gesagt, ich lösche keine Blöcke mehrere Zeilen aus der Datenbank ...von daher wird von jedem User nur ein Datensatz geöffnet und geschrieben und damit macht es voll Sinn, dass ich nicht noch explizit weitere Locks setze, sondern innoDB seine "hauseigene" Blockierung genau der gerade geschriebenen Zeile macht
__________________ "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() | MyIsam + delayed INSERTs nutze ich z.Zt. für Logs... das ist schon ziemlich performant, wenn man die Daten nicht sofort wieder braucht. Ich bastel mir ebenfalls grade einen eigenen Sperr-Mechanismus, der mit MEMORY Tabellen arbeitet, rattenschnell aber flüchtig.
__________________ Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() | Ich möchte das mal benutzen, um Sperren auf Applikationsebene setzen zu können. Im Kern geht es um Prozess-Synchronisation eines last-verteilten Systems über die Datenbank. Grob gesagt bastel ich also ein Mutexsystem für "critical sections".
__________________ Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot. |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Schnelle Massenabhandlung - Performance? | kolibriX | PHP Einsteiger | 4 | 11.04.2011 12:10 |
| [Erledigt] Lock talbes ... As | coola | Datenbanken | 6 | 06.12.2010 00:08 |
| [Erledigt] MySql Transaktionen und PDO | Leichti | PHP-Fortgeschrittene | 9 | 02.10.2010 21:41 |
| LOCK tables... | Samhayne | Datenbanken | 41 | 18.02.2010 11:15 |
| Kann LOCK TABLES zu Absturz der MySQL Datenbank führen? | kat_2403 | Datenbanken | 2 | 03.09.2009 15:22 |
| session_set_save_handler mit DB-Probleme mit anderen Transaktionen mit session_star | lou | PHP Tipps 2009 | 26 | 17.07.2009 15:11 |
| MySQL - 2 verschiedene Datenbanken - Performance?! | jGeee | Datenbanken | 1 | 24.04.2009 18:13 |
| [Erledigt] LOCK TABLES - Thread statt Table??? | Curanai | Datenbanken | 1 | 04.04.2009 01:33 |
| Transaktion(en) mit der InnoDB-Engine, aber wie?! | PsychoEagle | Datenbanken | 12 | 23.07.2007 12:11 |
| ImageMagick Performance Problem | M3g4Star | PHP Tipps 2006 | 1 | 30.11.2006 09:35 |
| Komplexe Funktion: +Übersichtlichkeit, -Performance | Jacks Rache | PHP Tipps 2006 | 3 | 07.06.2006 14:22 |
| Vererbung von Klassen und Performance | ggfan | PHP Tipps 2006 | 5 | 05.03.2006 12:00 |
| [Erledigt] Transaktionen mit Apache+PHP+MySQL | Datenbanken | 6 | 10.08.2005 08:04 | |
| LOCK TABLES / LAST_INSERT_ID | AliceD | Datenbanken | 3 | 20.07.2005 13:45 |
| Performance verbessern | PHP Tipps 2005 | 2 | 17.03.2005 13:29 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| sperren auf applikationsebene, lock tables performance, mysql \for update\ \lock in share mode\ unterschied, select macht lock |