SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.03.2008, 13:36:32
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
Frage zu InnoDB / MyISAM

Hallo Leute,

ich habe mich eben mal durch wikipedia gewälzt und auch Teile der MySQL-Dokumentation gelesen und das hat bei mir ein paar Fragen aufgeworfen...

bisher habe ich als Engine immer den MySQL-Standard, also MyISAM, verwendet.
jetzt steht aber in nächster Zeit ein etwas größeres Projekt an, wo z.B. eine
Shoutbox, ein Userprofil mit Gästebuch etc. realisiert werden sollen...

Wodrum es dabei geht ist folgendes: Bei diesem Portal werden später bis zu 1000 Leute angemeldet sein, natürlich werden niemals alle gleichzeitg das Protal verwenden, aber es könnte ja schon sehr gut sein, dass mal 10 Leute auf einmal die Shoutbox verwenden oder das 2 Leute sich gleichzeitig ein Profil anschauen oder ein Gästebuch von einem Profil etc...


Für die, die keine Zeit haben und nur die "kleine" Beschreibung lesen wollen, hier meine Fragen in kurzform:
- Ist InnoDB deutlich ( also merklich ) langsamer als MyISAM?
- Wird beim Schreib/Änder/Lösch/Lese-Vorgang unter MyISAM tatsächlich die ganze Tabelle gesperrt? ( und bei InnoDB eben nur der betroffene Datensatz, welcher angeblich aber trotz sperrung noch lesbar sein soll per select nur eben gegen änderung oder so gesperrt )
- keine Transaktionssicherheit bei MyISAM?! => können da Daten "aus versehen" im nirvana landen?? ( z.B. eben Passwörter von Usern, wenn die Zeitgleich ihr PW ändern? )



Für die, die etwas mehr Zeit haben die ausführlichen Beschreibungen/Fragen:

1. ich hab gelesen, bei MyISAM wird, wenn etwas geschrieben wird ( also z.B. ein INSERT in der Shoutbox stattfinden würde ) die komplette Tabelle gesperrt bis der Query fertig ist...stimmt das? bzw. wird die Tabelle in der Zeit auch für SELECT's gesperrt oder betrifft das nur das schreiben? und weiterhin habe ich gelesen, das bei InnoDB nur der betroffene Datensatz gesperrt wird, nicht aber die ganze Tabelle und das der betroffene Datensatz trotz Sperrung noch per SELECT gelesen werden kann, stimmt das? Sollte das so sein, würde ja zumindest für die Shoutbox schonmal kein MyISAM in Frage kommen...

2. Benutzerlogins / Passwörter werden natürlich auch in der DB gespeichert, jetzt hab ich bei Wiki aber gelesen, das MyISAM keinerlei Transaktionssicherheit unterstützt...in wie fern ist das denn beim Login relevant? Könnte das heissen, wenn z.B. 2 Leute ihr Passwort gleichzeitig ändern, das eines der beiden Passwörter "hops" geht, weil leider der eine 0,01 Sekunde schneller war, die DB dann grad komplett gesperrt ist und wegen keiner Transaktionssicherheit der andere Query einfach im nirgendwo verschwindet?

3. Wegen der Transaktionssicherheit soll InnoDB ja langsamer sein als MyISAM, ist ja auch verständlich, aber nirgends wird erwähnt wie viel langsamer denn z.B. ein Zugriff dadurch wird bzw. welche Zusatzoperationen durchgeführt werden...also meine Frage hierzu: wie viel langsamer ist es denn? wäre der Perfomanceunterschied bereits bei meinem Portal mit ca. 1000 Usern deutlich zu merken? Oder sprechen wird z.B. bei der Shoutbox bei sagen wir mal 10 Usern, die die gleichzeitig nutzen, nur von 0,02 Sekunden für nen SELECT bei MyISAM und 0,03 Sekunden beim SELECT für InnoDB? ( nur als Beispiel natürlich, meistens geht nen SELECT ja noch deutlich schneller bei CHAR-Feldern und die Shoutbox wird limitiert, das ein Eintrag nur aus ID, also dem INDEX, NAME -> CHAR(30) und MESSAGE -> CHAR(200) besteht...


gruß & danke für alle Antworten,
Ascer

Geändert von ascer (06.03.2008 um 13:37:27 Uhr)
Mit Zitat antworten
  #2  
Alt 10.03.2008, 12:49:13
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Frage zu InnoDB / MyISAM

Ich denke, dass bei so wenigen Besuchern die Engine keine wesentliche rolle spielt.

Ausserdem wäre eine DB ja wirklich schlecht, wenn sie einfach so werte verliert wenn 2 User gleichzeitig schreiben.

Meiner Meinung nach dauert ein SELECT, dass gleichzeitig mit einem UPDATE oder INSERT kommt, einfach ein Sekundenbruchteil länger. Daher denke ich dass du keinen grossen Unterschiede merken wirst.

Und das mit transaktionssicherheit betrifft eher den Fall wenn der Server abschmiert oder sql-befehle in transaktionen gepackt werden, wass bei kleinen PHP-Projekten eh seltenst der Fall ist (Wenn dir "START TRANSACTION" sowie "COMMIT" und "ROLLBACK" nichts sagen, dann vergiss es, du brauchst es dann nicht.)
Mit Zitat antworten
  #3  
Alt 10.03.2008, 15:44:37
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
AW: Frage zu InnoDB / MyISAM

ok, das ist doch mal eine Ansage^^
also kann man getrost bei MyISAM bleiben?!
Mit Zitat antworten
  #4  
Alt 11.03.2008, 10:44:13
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Frage zu InnoDB / MyISAM

Meiner Meinung nach ja.

du kannst ja auch mal versuchen alles auf InnoDB umzustellen und schauen was passiert. Ich prognostiziere keine feststellbaren Unterschiede.
Mit Zitat antworten
  #5  
Alt 11.03.2008, 21:24:02
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
AW: Frage zu InnoDB / MyISAM

Du kannst die engine noch nachträglich austauschen. Für Deine PHP Skripte macht das keinen Unterschied.
Zum Thema Transaktionen:
http://de.wikipedia.org/wiki/ACID
http://de.wikipedia.org/wiki/Transak...8Informatik%29
http://dev.mysql.com/doc/refman/5.1/...tatements.html
__________________
Wat der Bauer nich kennt, dit frisster nich.
Mit Zitat antworten
  #6  
Alt 12.03.2008, 03:15:40
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
AW: Frage zu InnoDB / MyISAM

ok, danke!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Foreign Key über InnoDB Lisa4986 MySQLi/PDO/(MySQL) 5 29.02.2008 00:41:16
Speicherengine, InnoDB funktioniert nicht ilianer MySQLi/PDO/(MySQL) 3 28.02.2008 13:20:30
Frage bzw. Idee zum Captcha Thema pixelsetzer PHP Grundlagen 5 26.01.2008 22:53:44
Imagemagick Frage!! VaddaDave PHP Grundlagen 5 20.01.2006 08:51:08
ne kurze frage zu tabellen mit php inhalt ichduersiees PHP Grundlagen 3 18.06.2003 19:28:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:01:00 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt