SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

SOFTWARE


LOCK/UNLOCK von TABELLEN

LOCK TABLES tbl_name [AS alias] {READ | [LOW_PRIORITY] WRITE}
            [, tbl_name {READ | [LOW_PRIORITY] WRITE} ...]...
UNLOCK TABLES

LOCK TABLES sperrt eine ganzeTabelle für den Thread, also für den Prozeß, der geradeauf die Tabelle zugreift. UNLOCK TABLES entsperrtdie Tabelle und gibt diese für andere Threads frei. AlleTabellen, die gesperrt sind, werden automatisch entsperrt,wenn dieser Thread eine andere Tabelle sperrt, oder dieVerbindung zum Server löst.

Wenn ein Thread eine READ Sperre setzt, dann kann dieserund alle andere Threads (!) nur aus dieser Tabelle lesen.Also merke: Ein WRITE Lock sperrt andere Threads fürLese-und Schreibvorgänge, ein READ Lock ermöglicht immernoch das Lesen für alle Threads.

Jeder Thread wartet solange auf seinen Einsatz, bis eralle angeforderten Locks auch zugewiesen bekommt (was langedauern kann).

WRITE LOCKS haben normalerweise einehöhere Priorität vor READ LOCKS.

Damit wird sichergestellt, daß alle Updates so schnell wie möglich eingespielt werden, und die Clients (die eingebenden Personen) nicht mit unnötigen Wartezeiten zu kämpfen haben. Das bedeutet, daß wenn ein Thread einen READ LOCK zugewiesen bekommt, und ein anderer Thread einen WRITE LOCK angefordert, dann werden die Lesezugriffe solange zurückgestellt, bis der Thread den WRITE LOCK erhalten und seine Schreibprozesse beendet hat. WRITE LOCKS kann man aber auch in der Priorität zurücksetzen. Dies geschieht mit Hilfe der Option: LOW_PRIORITY WRITE.

Damit wird der Datenbankserver veranlaßt, nur in Lesepausen die Schreibvorgänge durchzuführen. Dies ist u.a. für Internet Anwendungen interessant. Es muß aber sichergestellt sein, daß es auch tatsächlich Pausen gibt, wo die Schreibvorgänge eingeschoben werden können.

Bei dem Einsatz des Befehls LOCK TABLES muß für alle Tabellen, die in einem Statement abgefragt werden, jeweils ein Lock gesetzt werden. Wenn also eine Tabelle mit mehrfachen ALIAS abgefragt wird, dann muß für jeden ALIAS ein LOCK gesetzt werden. Diese Vorgehensweise dient dazu, die Datenbank von DEADLOCKS freizuhalten.

Man sollte jedoch keinesfalls Tabellen mit einem WRITE LOCK belegen, wenn der Befehl INSER DELAYED verwendet wird. Hierzu muß man wissen, daß MySQL den INSERT Befehl einem neuen THREAD zuordnet.

Normalerweise ist ein Lock auf eine Tabelle bei einem einzelnen UPDATE Statement nicht notwendig. Der Grund liegt darin, daß Schreibvorgänge niemals mit Abfragevorgängen kollidieren können, da sie jeweils einen Thread zugewiesen bekommen. Es gibt nur ein paar wenige Fälle, bei denen Tabellen mit einem Lock gesperrt werden müssen, z.B. bei INSERT DELAYED, damit kein SELECT Statement zwischen zwei UPDATE Vorgängen eingeschoben werden kann. Dies würde zu Inkonsistenzen der Tabellen führen.

Merke: Bei der Änderung der Hierarchien von Lese-oder Schreibvorgängen mit ... DELAYED ...., oder durch Änderung der Hierarchie mit Parametern beim Start des mysqld Datenbank - Servers, müssen eventuell alle SELECT Statements mit LOCKS versehen werden !

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere