zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden MySQL - Tabelle locked sich fest

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 29.11.2011, 12:07
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Select count solltest du immer auf eine indizierte Spalte machen und nie auf *, es sei denn du willst möglichst viel Aufwand für eine einfache Aufgabe generieren.
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 29.11.2011, 12:21
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
Zitat von inta Beitrag anzeigen
Select count solltest du immer auf eine indizierte Spalte machen und nie auf *, es sei denn du willst möglichst viel Aufwand für eine einfache Aufgabe generieren.
Zitat:
reccount * : ellapsed time 0.2190 sec
reccount STAMP : ellapsed time 0.2810 sec
Gerade mal probiert (SQLite, WinXP, Datenbank mit 332.904 Records).
STAMP ist der primary key.

Soooo groß ist das jetzt nicht.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 29.11.2011, 14:02
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Das mag sein, dass das der Praxis keinen großen Unterschied macht, aber das hängt dann wohl davon ab wie gut das DBMS die Abfrage optimiert. Rein logisch ist es unsinnig einen count über alle Spalten zu machen, denn das bringt einem genau das gleiche Ergebnis wie ein count über eine Spalte. Die Spalten sind ja hier uninteressant, es geht um die Zeilen.
Mit Zitat antworten
  #14 (permalink)  
Alt 29.11.2011, 14:49
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 14.04.2007
Ort: Berlin
Beiträge: 159
netAction befindet sich auf einem aufstrebenden Ast
Standard

SELECT COUNT(*) ist das Schnellste, SELECT COUNT(project) am Langsamsten. Alle Abfragen laufen über den Index.
__________________
netAction
Mit Zitat antworten
  #15 (permalink)  
Alt 29.11.2011, 14:53
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
Zitat von netAction Beitrag anzeigen
SELECT COUNT(*) ist das Schnellste, SELECT COUNT(project) am Langsamsten. Alle Abfragen laufen über den Index.
Wäre auch logisch, die müßte über den physical index gehen (Liste aller Records,
die MUSS ja vorhanden sein).
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #16 (permalink)  
Alt 29.11.2011, 20:08
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

COUNT(*) vs COUNT(col) - MySQL Performance Blog

Eine andere Möglichkeit ist noch count(1) aber es wird nichts ändern. Wobei ich aber fast .3 Sekunden für 300.000 Datensätze reichlich finde. Ich messe hier einen um den Faktor 1000 schnelleren Wert, aber das kann natürlich auch an einem kleineren Index liegen.
Mit Zitat antworten
  #17 (permalink)  
Alt 29.11.2011, 20:11
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Ich habe mit SQLite gemessen, nicht mySQL.

Es scheint wirklich eine Macke von SQLite zu sein, bei Googgle findet sich einiges.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #18 (permalink)  
Alt 09.12.2011, 15:55
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Grad drüber gestolpert:
Zitat:
Versuchen Sie komplexe SELECT-Abfragen an häufig aktualisierte MyISAM-Tabellen zu umgehen, um Probleme in Verbindung mit der Tabellensperrung zu vermeiden, die aufgrund des konkurrierenden Zugriffs durch Leser und Schreiber entstehen.
MySQL :: MySQL 5.1 Referenzhandbuch :: 7.2.19 Weitere Optimierungstipps
__________________
github | http://dnaber.de
Mit Zitat antworten
Antwort

Stichwörter
mysql, sql


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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Tabelle "reseten" esperance Serveradministration und serverseitige Scripte 15 15.04.2009 22:32
Mysql Select über zwei Tabellen, von einer Tabelle pauschal alles selektieren? braindead Serveradministration und serverseitige Scripte 2 06.01.2008 21:41
Mysql: Tabelle Ordnen, nach Integer Werten (timestamp) oder Zeitformaten? braindead Serveradministration und serverseitige Scripte 8 14.03.2007 20:21
Tabelle mit Werten aus 2 MySQL DBs mooonshadow Serveradministration und serverseitige Scripte 1 03.01.2007 12:56
Variablen in MySQL Tabelle hinzufügen kampfgnom Serveradministration und serverseitige Scripte 13 09.12.2006 19:36


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:41 Uhr.