Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

SELECT der Gesamtliste locked einzelne Datensatz-SELECTs?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 02.10.2005, 16:09

Folgendes Verhalten musste ich eben mit SHOW FULL PROCESSLIST; unter mysql feststellen und wundere mich darueber:

Waehrend ein Select ueber die Gesamtliste der Datensaetze durchgefuehrt wurde (State sorting result), waren alle anderen Selects die nur einen einzigen Datensatz selektieren im State "locked". Wieso das denn? Wenn alle nur lesen?
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 02.10.2005, 18:25

Hat maybe jemand ne Vermutung wie sowas sein kann ;) ?
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Eistee
PostRank 4
PostRank 4
Beiträge: 115
Registriert: 20.07.2004, 08:29

Beitrag von Eistee » 02.10.2005, 19:55

Der genaue SELECT, der den lock theoretisch verursacht hat, wäre interessant.

Anonymous

Beitrag von Anonymous » 02.10.2005, 21:13

also wenn du mal die beiden SELECT Befehle posten würdest, dann könnte man sehen ...

aber vor allem: wofür ist es wichtig? Ist es ein Problem, weil du den Datensatz gleichzeitig ändern willst?

Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 12.10.2005, 21:46

OK, mal ein Beispiel. Die folgenden werden alle gelocked:

| 144 | name | localhost | usrdb_name | Query | 0 | Locked | SELECT id, domain, ... FROM tblName WHERE short='hase.de' AND active=1

Dazu ist lediglich folgendes noetig, entweder im state "sort result" oder "sending data", dies locked IMMER die SELECTs wie oben genannt:

| 256 | name | localhost | usrdb_name | Query | 0 | Sending data | SELECT domain .. , [Formel aus Potenzen, Euler, TimestampUmrechnungen hier, muss leider geheim gehalten werden, Grund bekannt] AS points FROM tblName WHERE active=1 AND [geheim] ORDER BY points DESC, pr DESC |

Namen geaendert, warum bekannt ;) Es ist beides mal die gleiche Tabelle auf die zugegriffen wird, aber eben nur SELECTs, kein einziges INSERT oder UPDATE ist dabei!
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Lutz-Development
PostRank 7
PostRank 7
Beiträge: 530
Registriert: 31.05.2004, 09:52

Beitrag von Lutz-Development » 12.10.2005, 21:55

Hi,

mySQL optimiert die Abfragen. Wenn eine Tabelle gelocked ist, dann wird eine SELECT-Abfrage weitaus schneller ausgeführt. Das wird der Grund sein.

Gruß,
Thomas

Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 12.10.2005, 22:27

Endlich mal jemand, der sich auskennt. Danke !! :)
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Anonymous

Beitrag von Anonymous » 13.10.2005, 10:09

sorry, um es wirklich nachzuvollziehen ist der aufwand zu groß. aber:

wenn du ein Sortierung machst, dann will doch die SQL-DB wohl sicherstellen, dass sich während des Sortiervorganges nicht mal die Werte der zu sortienden Felder ändern??? Also müssen die zu sortierenden Datensätze gelockt werden.

Airport1
PostRank 10
PostRank 10
Beiträge: 4489
Registriert: 16.08.2004, 18:50
Wohnort: Backnang / bei Stuttgart

Beitrag von Airport1 » 13.10.2005, 13:01

Das mag zwar sein. Aber wenn alle Zugriffe rein LESEND sind (nur SELECTs, keine INSERTs oder UPDATEs - hab es zigmal ueberprueft) ist das Locken nur fuer die Sortierung ja voellig unnoetig, denn es kann sich ja nix aendern. Ein exclusives Lock wird wohl erst dann noetig wenn es ein INSERT oder ein UPDATE Query gibt, dann macht es auch wirklich Sinn.
Linktauschanfragen zwecklos
https://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
https://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
https://www.ranking-hits.de/ Counter & PR Service

Anonymous

Beitrag von Anonymous » 17.10.2005, 11:22

ja, war wohl ein denkfehler. lock bezieht sich ja hier aufs schreiben, nur dafür ist die Sperre notwendig.

mal sehen ob mir mal was über den Weg läuft.

Bei extensiver MySQL-nutzung kann so etwas ja doch ein Zeitproblem werden.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag