From TConnect at gmx.net Mon Jul 3 16:41:48 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Mon, 3 Jul 2006 16:41:48 +0200 Subject: Zwei Warnings, die mich nicht weiterbringen Message-ID: <23743A18FACA4D4DA568F55844E70C99251F5A@md40.mediadefine.gmbh> Hallo zusammen, ich habe folgende MySQL Warnings, die mich nicht weiterbringen: 060627 15:51:48 [Warning] Asked for 196608 thread stack, but got 126976 -> Muß ich MySQL ggf. im Betriebssystem (Linux) mehr Speicher zuweisen? 060627 15:51:48 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them -> OK, was er mir sagen will, ist klar. Aber was bedeutet die Tabelle und wie kann ich diese ggf. wieder reorganisieren? Die MySQL Homepage schweigt sich darüber aus (jedenfalls dann, wenn ich den Text in das Suchfeld übernehme...) Kann mir jemand weiter helfen? Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Mon Jul 3 17:01:40 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Mon, 03 Jul 2006 17:01:40 +0200 Subject: Zwei Warnings, die mich nicht weiterbringen In-Reply-To: <23743A18FACA4D4DA568F55844E70C99251F5A@md40.mediadefine.gmbh> References: <23743A18FACA4D4DA568F55844E70C99251F5A@md40.mediadefine.gmbh> Message-ID: <44A93154.6080509@sebastianmendel.de> Tim Hildebrandt schrieb: > 060627 15:51:48 [Warning] Can't open and lock time zone table: Table > 'mysql.time_zone_leap_second' doesn't exist trying to live without them > -> OK, was er mir sagen will, ist klar. Aber was bedeutet die Tabelle und > wie kann ich diese ggf. wieder reorganisieren? mysql_fix_privilegs oder so ähnlich, das script welches auch die Privileg-Tabellen einrichtet/aktualisiert, steht im Handbuch unter Installation/Update -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Tue Jul 4 13:57:37 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Tue, 4 Jul 2006 13:57:37 +0200 Subject: Zwei Warnings, die mich nicht weiterbringen In-Reply-To: <44A93154.6080509@sebastianmendel.de> Message-ID: <23743A18FACA4D4DA568F55844E70C99251F67@md40.mediadefine.gmbh> Hallo Sebastian, > mysql_fix_privilegs oder so ähnlich, das script welches auch > die Privileg-Tabellen einrichtet/aktualisiert, steht im > Handbuch unter Installation/Update Danke, ich schau mal rein. Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Tue Jul 4 14:58:11 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Tue, 4 Jul 2006 14:58:11 +0200 Subject: MySQL.de sagt 2% Kursschwankungen voraus Message-ID: <008601c69f69$82e25010$6502a8c0@PFEIFFER> Hai, den aktuellen Wert des Euro sieht man hier: http://www.itbw.de/z.php/service.php MySQL.de sagt bis August einen herben Einbruch voraus: http://www.mysql.de/training/courses/performance_tuning.html Ort Daten Preis Stuttgart 24-27 Jul 2006 1595.00 EUR Los Angeles 22-25 Aug 2006 1995.00 USD Das sind rund 1,9% weniger ... Wie kommt MySQL.de zu dieser Vorhersage ? Oder ist das nur ein Bug in MySQL ? Man weiss es nicht ... ;-) m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Mon Jul 10 11:44:28 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Mon, 10 Jul 2006 11:44:28 +0200 Subject: Abfrage-Optimierung Message-ID: <003c01c6a405$78b9ebc0$6502a8c0@PFEIFFER> Hallo, das Query: SELECT nStatus, COUNT(*) FROM tblSignal GROUP BY nStatus ORDER BY nStatus; Auf nStatus int(11) liegt ein Index aber trotzdem dauert es: nStatus records 0 23 10 1.566.986 in 974,358 ms Da jedoch pro Monat eine tblSignal existiert, summieren sich die Zeiten auf rund 28 Sekunden. Das ist nicht akzeptabel. Was kann man tun ? m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Mon Jul 10 17:26:09 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Mon, 10 Jul 2006 17:26:09 +0200 Subject: Abfrage-Optimierung In-Reply-To: <003c01c6a405$78b9ebc0$6502a8c0@PFEIFFER> References: <003c01c6a405$78b9ebc0$6502a8c0@PFEIFFER> Message-ID: <44B27191.7000107@sebastianmendel.de> Norbert Pfeiffer schrieb: > Hallo, > > das Query: > SELECT nStatus, COUNT(*) FROM tblSignal GROUP BY nStatus ORDER BY nStatus; > > Auf nStatus int(11) liegt ein Index aber trotzdem dauert es: > nStatus records > 0 23 > 10 1.566.986 > in 974,358 ms > > Da jedoch pro Monat eine tblSignal existiert, summieren sich die Zeiten > auf rund 28 Sekunden. Das ist nicht akzeptabel. Was kann man tun ? Was sagt denn ein EXPLAIN? Hast du mal die Struktur der Tabelle? -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From donning at informenta.de Mon Jul 10 17:44:27 2006 From: donning at informenta.de (Michael Donning) Date: Mon, 10 Jul 2006 17:44:27 +0200 Subject: Abfrage-Optimierung In-Reply-To: <003c01c6a405$78b9ebc0$6502a8c0@PFEIFFER> Message-ID: <5D4A6A9E3089@informenta.de> Hallo Norbert, Norbert Pfeiffer erdachte folgende Zeilen: > das Query: > SELECT nStatus, COUNT(*) FROM tblSignal GROUP BY nStatus ORDER BY > nStatus; > > Auf nStatus int(11) liegt ein Index aber trotzdem dauert es: > nStatus records > 0 23 > 10 1.566.986 > in 974,358 ms > (...) Ohne jetzt konkret die Ursache benennen zu können, kommt hier die Blind-Huhn-Korn Ansatz: - ANALYZE auf Tabelle gemacht (wg. Key Distribution)? - EXPLAIN hilft nicht weiter? - Mit Varianten verglichen? Z.B.: SELECT nStatus, COUNT(nStatus) FROM tblSignal GROUP BY nStatus ORDER BY nStatus Oder mal ohne Order By (auch wenn es keinen Sinn macht :) ) SELECT nStatus, COUNT(nStatus) FROM tblSignal GROUP BY nStatus - Macht die Wahl InnoDB/MyISAM einen signifikanten Unterschied? (evtl. verwendet InnoDB automatisch einen "adaptive hash index"?) Grüße, Michael Donning -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From mysql at universalware.de Mon Jul 10 19:55:48 2006 From: mysql at universalware.de (=?iso-8859-1?Q?Andreas_M=FCller?=) Date: Mon, 10 Jul 2006 19:55:48 +0200 Subject: Abfrage-Optimierung In-Reply-To: <003c01c6a405$78b9ebc0$6502a8c0@PFEIFFER> Message-ID: <03fa01c6a44a$13c46110$1500a8c0@nbandreas> Hallo Norbert, also ich denke nicht das die einzelte Abfrage viel schneller geht denn ein Index (evtl. hilft mal ein ANALYSE was aber bei einem sauber gewachsenen Index nichts bringen dürfte/sollte). Das einzige was da helfen dürfte: RAM :-) Also key_buffers hoch das er alles schön im RAM hat. Aber etwas macht mich stutzig: > Da jedoch pro Monat eine tblSignal existiert, summieren sich > die Zeiten > auf rund 28 Sekunden. Das ist nicht akzeptabel. Was kann man tun ? Wie darf man das verstehen ? Gruß, Andreas -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From ml at rpdev.at Mon Jul 10 21:17:39 2006 From: ml at rpdev.at (Robert Pleniger) Date: Mon, 10 Jul 2006 21:17:39 +0200 Subject: SQL-Script verlassen Message-ID: Hallo Leute Ich rufe mittels Cron ein SQL-Script auf, das ungefär so lautet: LOAD DATA INFILE 'daten.csv' INTO TABLE TabA_Temp; TRUNCATE TABLE TabA; INSERT INTO TabA SELECT * FROM TabA_Temp; Nun kommt es manchmal vor das 'daten.csv' Fehlerhaft ist. Dann sollten die folgenden Zeilen nicht mehr ausgeführt werden. Gibt es eine Möglichkeit das Script bei Fehler zu verlassen. -- Robert Pleniger -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From andreas.kretschmer at schollglas.com Mon Jul 10 21:36:34 2006 From: andreas.kretschmer at schollglas.com (Andreas Kretschmer) Date: Mon, 10 Jul 2006 21:36:34 +0200 Subject: SQL-Script verlassen In-Reply-To: References: Message-ID: <20060710193634.GA18722@webserv.wug-glas.de> am 10.07.2006, um 21:17:39 +0200 mailte Robert Pleniger folgendes: > Hallo Leute > > Ich rufe mittels Cron ein SQL-Script auf, das ungefär so lautet: > LOAD DATA INFILE 'daten.csv' INTO TABLE TabA_Temp; > TRUNCATE TABLE TabA; > INSERT INTO TabA SELECT * FROM TabA_Temp; > > Nun kommt es manchmal vor das 'daten.csv' Fehlerhaft ist. > Dann sollten die folgenden Zeilen nicht mehr ausgeführt werden. > Gibt es eine Möglichkeit das Script bei Fehler zu verlassen. Ja, pack das in eine Transaktion. Andreas -- Andreas Kretschmer (Kontakt: siehe Header) Heynitz: 035242/47215, D1: 0160/7141639 GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net === Schollglas Unternehmensgruppe === -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From mysql-de_4t2 at koalashome.de Mon Jul 10 22:33:16 2006 From: mysql-de_4t2 at koalashome.de (Sven Eichler) Date: Mon, 10 Jul 2006 22:33:16 +0200 Subject: SQL-Script verlassen In-Reply-To: References: Message-ID: <200607102233.16755@koalashome.de> > Nun kommt es manchmal vor das 'daten.csv' Fehlerhaft ist. > Dann sollten die folgenden Zeilen nicht mehr ausgeführt werden. > Gibt es eine Möglichkeit das Script bei Fehler zu verlassen. Nur mal so dahingeworfen: phpMyAdmin prüft vorher? oder fängt die Fehler auch irgendwie ab. Genaueres kann ich dazu aber im Moment auch nicht sagen. -- ciao Sven -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Mon Jul 10 23:24:12 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Mon, 10 Jul 2006 23:24:12 +0200 Subject: Abfrage-Optimierung In-Reply-To: <5D4A6A9E3089@informenta.de> References: <5D4A6A9E3089@informenta.de> Message-ID: <44B2C57C.7010206@sebastianmendel.de> Michael Donning schrieb: > Hallo Norbert, > > Norbert Pfeiffer erdachte folgende Zeilen: > >> das Query: >> SELECT nStatus, COUNT(*) FROM tblSignal GROUP BY nStatus ORDER BY >> nStatus; >> >> Auf nStatus int(11) liegt ein Index aber trotzdem dauert es: >> nStatus records >> 0 23 >> 10 1.566.986 >> in 974,358 ms >> (...) > > Ohne jetzt konkret die Ursache benennen zu können, kommt > hier die Blind-Huhn-Korn Ansatz: > > - ANALYZE auf Tabelle gemacht (wg. Key Distribution)? > - EXPLAIN hilft nicht weiter? > - Mit Varianten verglichen? Z.B.: > SELECT nStatus, COUNT(nStatus) FROM tblSignal GROUP BY nStatus > ORDER BY nStatus > > Oder mal ohne Order By (auch wenn es keinen Sinn macht :) ) > > SELECT nStatus, COUNT(nStatus) FROM tblSignal GROUP BY nStatus oder: SELECT COUNT(DISTINCT `nStatus`) FROM `tblSignal` -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Tue Jul 11 09:33:49 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Tue, 11 Jul 2006 09:33:49 +0200 Subject: UNION straeubt sich ... Message-ID: <000b01c6a4bc$67b63880$6502a8c0@PFEIFFER> Hallo, in das Query: SELECT nRowID FROM tblsignal200404 WHERE nStatus <= 10 UNION SELECT nRowID FROM tblsignal200405 WHERE nStatus <= 10 UNION SELECT nRowID FROM tblsignal200406 WHERE nStatus <= 10 sollte noch ORDER BY dTimeStamp LIMIT 111 eingefuegt werden. Leider finde ich keine Syntax, die MySQL akzeptiert. Hat da virelleicht jemand eine Idee ... ? m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Tue Jul 11 11:11:14 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Tue, 11 Jul 2006 11:11:14 +0200 Subject: UNION straeubt sich ... In-Reply-To: <000b01c6a4bc$67b63880$6502a8c0@PFEIFFER> References: <000b01c6a4bc$67b63880$6502a8c0@PFEIFFER> Message-ID: <44B36B32.40302@sebastianmendel.de> Norbert Pfeiffer schrieb: > Hallo, > > in das Query: > > SELECT nRowID FROM tblsignal200404 WHERE nStatus <= 10 > UNION > SELECT nRowID FROM tblsignal200405 WHERE nStatus <= 10 > UNION > SELECT nRowID FROM tblsignal200406 WHERE nStatus <= 10 > > sollte noch > > ORDER BY dTimeStamp LIMIT 111 > > eingefuegt werden. > > Leider finde ich keine Syntax, die MySQL akzeptiert. > > Hat da virelleicht jemand eine Idee ... ? Klammern? (SELECT nRowID FROM tblsignal200404 WHERE nStatus <= 10) UNION (SELECT nRowID FROM tblsignal200405 WHERE nStatus <= 10) UNION (SELECT nRowID FROM tblsignal200406 WHERE nStatus <= 10) ORDER BY dTimeStamp LIMIT 111 ansonsten ordnet er das ORDER BY dem letzten Select zu -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Tue Jul 11 14:55:04 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Tue, 11 Jul 2006 14:55:04 +0200 Subject: UNION straeubt sich ... References: <000b01c6a4bc$67b63880$6502a8c0@PFEIFFER> <44B36B32.40302@sebastianmendel.de> Message-ID: <004601c6a4e9$3fad8730$6502a8c0@PFEIFFER> Hallo, > > Hat da virelleicht jemand eine Idee ... ? > Klammern? hatte ich auch schon probiert: - setzt man das ORDER BY in jedes Query meint SQL: 1221 = Falsche Verwendung von UNION und ORDER BY - setzt man die Klausel zentral ein, kann MySQL das Feld nicht zuordnen. Es kommt zwar in jeder Tabelle vor, aber das hilft auch nur nix. In dem Beispiel, welches Thomas anfuehrt ist das anders, da wird nach dem Feld, nach dem sortiert werden soll auch selected. D.h. es kommt im Resultset auch vor, bei mir nicht. Baue ich das Query um, so dass dTimeStamp im Resultset erscheint, klappt das auch mit ORDER BY und LIMI 11, ganz ohne Klammern: SELECT nRowID, dTimeStamp FROM tblsignal04 WHERE nStatus <= 10 UNION SELECT nRowID, dTimeStamp FROM tblsignal05 WHERE nStatus <= 10 UNION SELECT nRowID, dTimeStamp FROM tblsignal06 WHERE nStatus <= 10 ORDER BY dTimeStamp LIMIT 11 m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Tue Jul 11 16:02:20 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Tue, 11 Jul 2006 16:02:20 +0200 Subject: UNION straeubt sich ... In-Reply-To: <004601c6a4e9$3fad8730$6502a8c0@PFEIFFER> References: <000b01c6a4bc$67b63880$6502a8c0@PFEIFFER> <44B36B32.40302@sebastianmendel.de> <004601c6a4e9$3fad8730$6502a8c0@PFEIFFER> Message-ID: <44B3AF6C.6010204@sebastianmendel.de> Norbert Pfeiffer schrieb: > Hallo, > >> > Hat da virelleicht jemand eine Idee ... ? >> Klammern? > hatte ich auch schon probiert: > - setzt man das ORDER BY in jedes Query meint SQL: > 1221 = Falsche Verwendung von UNION und ORDER BY > - setzt man die Klausel zentral ein, kann MySQL das Feld nicht zuordnen. > Es kommt zwar in jeder Tabelle vor, aber das hilft auch nur nix. > > In dem Beispiel, welches Thomas anfuehrt ist das anders, da wird nach > dem Feld, nach dem sortiert werden soll auch selected. D.h. es kommt > im Resultset auch vor, bei mir nicht. ach, das hatte ich ganz übersehen an deiner Abfrage - aber stimmt natürlich - das ist genau wie mit HAVING - du kannst nur das verwenden was auch Ergebnis-Satz vorhanden ist > Baue ich das Query um, so dass dTimeStamp im Resultset erscheint, > klappt das auch mit ORDER BY und LIMI 11, ganz ohne Klammern: > > SELECT nRowID, dTimeStamp FROM tblsignal04 WHERE nStatus <= 10 > UNION > SELECT nRowID, dTimeStamp FROM tblsignal05 WHERE nStatus <= 10 > UNION > SELECT nRowID, dTimeStamp FROM tblsignal06 WHERE nStatus <= 10 > ORDER BY dTimeStamp LIMIT 11 -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Mon Jul 17 17:34:19 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Mon, 17 Jul 2006 17:34:19 +0200 Subject: Fragen zum Gebrauch von UNION Message-ID: <23743A18FACA4D4DA568F55844E70C99251FA3@md40.mediadefine.gmbh> Hallo Liste, ich habe mal noch eine Frage zum Gebrauch des UNION Statements. Folgend Abfrage ist für mich interessant: SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum1 GROUP BY pfad UNION SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum2 GROUP BY pfad UNION SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum3 GROUP BY pfad UNION SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum4 GROUP BY pfad ORDER BY pfad Ich dachte, mittelst UNION könnte ich die drei Tabellen mit unterschiedlichen Zeiträumen so zusammenfassen, als wäre es eine. Well ich also nach dem Pfad gruppieren lasse, dann erwarte ich eigentlich in jeder Zeile eine eindeutige Angabe und in der zweiten Spalte die Gesamtsumme der Vorkommen. Mein Ergebnist sieht aber so aus: +-------------------------------+--------------------+ | username12345/Tarife/NZnKR | 64 | | username12345/Tarife/NZnKR | 46 | | username12345/Tarife/NZnKR | 31 | | username12345/Tarife/NZnKR | 106 | | username12345/Tarife/sSVR0 | 121 | | username12345/Tarife/sSVR0 | 73 | | username12345/Tarife/sSVR0 | 78 | | username12345/Tarife/sSVR0 | 324 | | username12345/Tarife/WztEe | 104 | | username12345/Tarife/WztEe | 63 | | username12345/Tarife/WztEe | 44 | | username12345/Tarife/ySq4I | 21 | | username12345/Tarife/ySq4I | 59 | | username12345/Tarife/ySq4I | 49 | | username12345/Tarife/ySq4I | 151 | | username12345/YFlbZ | 1 | +-------------------------------+--------------------+ Wie man sieht, werden identische Pfade doppelt ausgegeben. Maximal für jedes Teil-SELECT eine Zeile. Ich hätte es aber gerne so, dass jeder Pfad nur einmal erscheint und dahinter dann die Gesamtsumme steht. Was mache ich falsch? Danke für Eure Hilfe. Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Mon Jul 17 17:46:43 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Mon, 17 Jul 2006 17:46:43 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <23743A18FACA4D4DA568F55844E70C99251FA3@md40.mediadefine.gmbh> References: <23743A18FACA4D4DA568F55844E70C99251FA3@md40.mediadefine.gmbh> Message-ID: <44BBB0E3.5070101@sebastianmendel.de> Tim Hildebrandt schrieb: > [...] > > Ich dachte, mittelst UNION könnte ich die drei Tabellen mit > unterschiedlichen Zeiträumen so zusammenfassen, als wäre es eine. Well ich > also nach dem Pfad gruppieren lasse, dann erwarte ich eigentlich in jeder > Zeile eine eindeutige Angabe und in der zweiten Spalte die Gesamtsumme der > Vorkommen. > > Mein Ergebnist sieht aber so aus: > > +-------------------------------+--------------------+ > | username12345/Tarife/NZnKR | 64 | > | username12345/Tarife/NZnKR | 46 | > | username12345/Tarife/NZnKR | 31 | > | username12345/Tarife/NZnKR | 106 | > | [...] > > Was mache ich falsch? du brauchst entweder eine Prozedur, eine Temporäre Tabelle oder eine MERGE-Tabelle. -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Mon Jul 17 18:06:37 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Mon, 17 Jul 2006 18:06:37 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <44BBB0E3.5070101@sebastianmendel.de> Message-ID: <23743A18FACA4D4DA568F55844E70C99251FA5@md40.mediadefine.gmbh> Hallo Sebastian, > > | username12345/Tarife/NZnKR | 106 | > > | [...] > > > > Was mache ich falsch? > > du brauchst entweder eine Prozedur, eine Temporäre Tabelle > oder eine MERGE-Tabelle. Danke für die Info. Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Mon Jul 17 18:25:39 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Mon, 17 Jul 2006 18:25:39 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <23743A18FACA4D4DA568F55844E70C99251FA5@md40.mediadefine.gmbh> References: <23743A18FACA4D4DA568F55844E70C99251FA5@md40.mediadefine.gmbh> Message-ID: <44BBBA03.7060003@sebastianmendel.de> Tim Hildebrandt schrieb: > Hallo Sebastian, > > >>> | username12345/Tarife/NZnKR | 106 | >>> | [...] >>> >>> Was mache ich falsch? >> du brauchst entweder eine Prozedur, eine Temporäre Tabelle >> oder eine MERGE-Tabelle. > > Danke für die Info. achso, ein Subselect könnte auch gehen: SELECT pfad, SUM(`COUNT(pfad)`) FROM ( SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum1 GROUP BY pfad UNION SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum2 GROUP BY pfad UNION SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum3 GROUP BY pfad UNION SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum4 GROUP BY pfad ) GROUP BY pfad ORDER BY pfad -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Mon Jul 17 22:40:53 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Mon, 17 Jul 2006 22:40:53 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <44BBBA03.7060003@sebastianmendel.de> References: <23743A18FACA4D4DA568F55844E70C99251FA5@md40.mediadefine.gmbh> <44BBBA03.7060003@sebastianmendel.de> Message-ID: <20060717204053.5090@gmx.net> Hallo Sebastian, > > Danke für die Info. > > > achso, ein Subselect könnte auch gehen: > > > SELECT pfad, SUM(`COUNT(pfad)`) FROM ( > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum1 GROUP BY pfad > UNION > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum2 GROUP BY pfad > UNION > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum3 GROUP BY pfad > UNION > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum4 GROUP BY pfad > ) > GROUP BY pfad > ORDER BY pfad Wäre schon klasse, wenn das geht. Ich bin erst üermorgen wieder vor Ort und werde das dann gleich mal ausprobieren. Dann bekommst Du auch die Infos, die Du im anderen Thread nachgefragt hast. Grüße Tim -- Echte DSL-Flatrate dauerhaft für 0,- Euro*! "Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Tue Jul 18 17:57:59 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Tue, 18 Jul 2006 17:57:59 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <44BBBA03.7060003@sebastianmendel.de> Message-ID: <23743A18FACA4D4DA568F55844E70C99251FA7@md40.mediadefine.gmbh> Hallo Sebastian, > achso, ein Subselect könnte auch gehen: > > > SELECT pfad, SUM(`COUNT(pfad)`) FROM ( > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum1 GROUP BY pfad > UNION > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum2 GROUP BY pfad > UNION > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum3 GROUP BY pfad > UNION > SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum4 GROUP BY pfad > ) > GROUP BY pfad > ORDER BY pfad Danke hat soweit funktioniert. Mal noch eine Verständnisfrage (sory, wenn ich langsam nerven sollte): Wenn ich in jeder Zeile das COUNT(pfad) mit Alias, also z.B: COUNT(pfad) as num_pfad schreiben würde, warum funktioniert es dann nicht, dass ich in der umgebenden Tabelle statt SUM(`COUNT(pfad)`) einfach schreibe SUM(num_pfad)? Ist doch dann eigentlich das gleiche, oder? Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Tue Jul 18 19:03:09 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Tue, 18 Jul 2006 19:03:09 +0200 Subject: das muss schneller gehen ... Message-ID: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> Hallo, mysql> update tblsignal set nStatus = 1; Query OK, 11459572 rows affected (4 min 32.69 sec) Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 Wie koennte man diese Aktion wesentlich beschleunigen ? m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From tracerbullet at gmx.net Tue Jul 18 19:15:04 2006 From: tracerbullet at gmx.net (Mike Ledig) Date: Tue, 18 Jul 2006 19:15:04 +0200 Subject: das muss schneller gehen ... In-Reply-To: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> Message-ID: <44BD1718.5030906@gmx.net> Hallo Norbert, nur so auf die Schnelle: Spalte löschen, neu anlegen mit Standard-Wert 1? Weiß nicht, obs schneller ist, würd ich mal probieren. Musst aber aufpassen, wenn Du an irgendwelchen Stellen per Index und nicht per Namen auf die Spalte zugreifst, kann es Dir mächtig Probleme bereiten... oder dann eben beim Erstellen auf die Position in der Tabelle-Spaltereihenfolge achten. Greetings and a nice evening Mike. Norbert Pfeiffer schrieb: > Hallo, > > mysql> update tblsignal set nStatus = 1; > Query OK, 11459572 rows affected (4 min 32.69 sec) > Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 > > Wie koennte man diese Aktion wesentlich beschleunigen ? > > > m. b. G. N. Pfeiffer > --------------------- > normal: 06131-1436094 > Notruf: 0163-3613642 > --------------------- > e.o.f. > -- Training und Projekte http://www.gidel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Tue Jul 18 19:39:16 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Tue, 18 Jul 2006 19:39:16 +0200 Subject: das muss schneller gehen ... References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD1718.5030906@gmx.net> Message-ID: <000a01c6aa91$26a11ab0$2102a8c0@PFEIFFER> Hallo Mike, die Idee ist ja schon mal nicht schlecht, aber: Auf der Spalte liegt normalerweise ein Index, der war dabei noch nicht erzeugt. Die Erzeugung ist gerade durchgelaufen: mysql> alter table tblSignal ADD KEY (nStatus); Query OK, 11470884 rows affected (9 min 33.41 sec) Datensaetze: 11470884 Duplikate: 0 Warnungen: 0 Schaetze, damit ist die Idee nicht mehr ganz so toll ... ;-) m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From mysql at universalware.de Tue Jul 18 20:13:12 2006 From: mysql at universalware.de (=?iso-8859-1?Q?Andreas_M=FCller?=) Date: Tue, 18 Jul 2006 20:13:12 +0200 Subject: das muss schneller gehen ... In-Reply-To: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> Message-ID: <074a01c6aa95$d692c5f0$1500a8c0@nbandreas> Hallo Norbert, ich enttäusch dich ja nur ungern aber da habe ich nur eine Antwort: garnicht :-) Maximal mehr Rechenpower was da heissen will: viel RAM und extrem schnelle Platten - CPU ist bei dem Update mal ausnahmsweise wenige gefragt. Wirst du sicher gesehen haben das CPU auslastung erträglich war. Gruß, Andreas -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Tue Jul 18 20:16:10 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Tue, 18 Jul 2006 20:16:10 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <23743A18FACA4D4DA568F55844E70C99251FA7@md40.mediadefine.gmbh> References: <23743A18FACA4D4DA568F55844E70C99251FA7@md40.mediadefine.gmbh> Message-ID: <44BD256A.2050809@sebastianmendel.de> Tim Hildebrandt schrieb: > Hallo Sebastian, > > >> achso, ein Subselect könnte auch gehen: >> >> >> SELECT pfad, SUM(`COUNT(pfad)`) FROM ( >> SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum1 GROUP BY pfad >> UNION >> SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum2 GROUP BY pfad >> UNION >> SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum3 GROUP BY pfad >> UNION >> SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum4 GROUP BY pfad >> ) >> GROUP BY pfad >> ORDER BY pfad > > Danke hat soweit funktioniert. Mal noch eine Verständnisfrage (sory, wenn > ich langsam nerven sollte): > > Wenn ich in jeder Zeile das COUNT(pfad) mit Alias, also z.B: > > COUNT(pfad) as num_pfad > > schreiben würde, warum funktioniert es dann nicht, dass ich in der > umgebenden Tabelle statt > > SUM(`COUNT(pfad)`) > > einfach schreibe > > SUM(num_pfad)? Ist doch dann eigentlich das gleiche, oder? weil es dort kein Feld mit dem Namen `num_pfad` gibt, die übergibst das Ergebnis der geklammerten Abfrage - und dort gibt es nur 2 Felder: `pfad`, `COUNT(pfad)` Wenn du unbedingt ein Feld `num_pfad` haben möchtest muss du es auch in der Select-Auswahl haben, z. B. als Alias: ... SELECT `pfad`, COUNT(`pfad`) AS `num_pfad` ... -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Tue Jul 18 20:22:09 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Tue, 18 Jul 2006 20:22:09 +0200 Subject: das muss schneller gehen ... In-Reply-To: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> Message-ID: <44BD26D1.3080505@sebastianmendel.de> Norbert Pfeiffer schrieb: > Hallo, > > mysql> update tblsignal set nStatus = 1; > Query OK, 11459572 rows affected (4 min 32.69 sec) > Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 Ist das direkt auf dem Server, oder auf einem Test-System? Sind die Zeilen fester Breite oder Variabel? > Wie koennte man diese Aktion wesentlich beschleunigen ? Mehr RAM und schnellere Festplatten ... ;-) Erhöhen des Key-Buffers? -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From tracerbullet at gmx.net Tue Jul 18 20:48:34 2006 From: tracerbullet at gmx.net (Mike Ledig) Date: Tue, 18 Jul 2006 20:48:34 +0200 Subject: das muss schneller gehen ... In-Reply-To: <000a01c6aa91$26a11ab0$2102a8c0@PFEIFFER> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD1718.5030906@gmx.net> <000a01c6aa91$26a11ab0$2102a8c0@PFEIFFER> Message-ID: <44BD2D02.9060403@gmx.net> Hallo Norbert, hm, da da nur wenig Datensätze nicht 1 waren, brauchts den Index überhaupt? Und, mit Index, gehts update da nicht ein kleines bischen flotter? Weiß ja nicht, was Du genau machen magst, aber ansonten wär löschen/neu die einzige Alternative die mir so einfallen würde... s.a. die anderen Posts ;-) Aber mit Index rockt das nicht wirklich *g* Greetings und einen schönen Abend Mike. Norbert Pfeiffer schrieb: > Hallo Mike, > > die Idee ist ja schon mal nicht schlecht, aber: > Auf der Spalte liegt normalerweise ein Index, der war dabei noch nicht > erzeugt. Die Erzeugung ist gerade durchgelaufen: > > mysql> alter table tblSignal ADD KEY (nStatus); > Query OK, 11470884 rows affected (9 min 33.41 sec) > Datensaetze: 11470884 Duplikate: 0 Warnungen: 0 > > Schaetze, damit ist die Idee nicht mehr ganz so toll ... ;-) > > > m. b. G. N. Pfeiffer > --------------------- > normal: 06131-1436094 > Notruf: 0163-3613642 > --------------------- > e.o.f. > -- Training und Projekte http://www.gidel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Wed Jul 19 08:00:16 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Wed, 19 Jul 2006 08:00:16 +0200 Subject: das muss schneller gehen ... References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> Message-ID: <005001c6aaf8$a56ccc60$2102a8c0@PFEIFFER> Hallo, > Mehr RAM und schnellere Festplatten ... ;-) okay, das sehe ich eigentlich auch so, aber bevor ich mich bei Cheffe unbeliebt mache, wollte ich halt mal fragen tun ... > Erhöhen des Key-Buffers? ja-nee, is klar, aber erst muss man mal Buffer kaufen tun ... Zusammenfassend also vielen Dank fuer die Argumentationshilfe. m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Wed Jul 19 09:11:06 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Wed, 19 Jul 2006 09:11:06 +0200 Subject: das muss schneller gehen ... In-Reply-To: <44BD26D1.3080505@sebastianmendel.de> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> Message-ID: <44BDDB0A.80500@sebastianmendel.de> Sebastian Mendel schrieb: > Norbert Pfeiffer schrieb: >> Hallo, >> >> mysql> update tblsignal set nStatus = 1; >> Query OK, 11459572 rows affected (4 min 32.69 sec) >> Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 > > Ist das direkt auf dem Server, oder auf einem Test-System? > Sind die Zeilen fester Breite oder Variabel? ??? -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From donning at informenta.de Wed Jul 19 09:09:03 2006 From: donning at informenta.de (Michael Donning) Date: Wed, 19 Jul 2006 09:09:03 +0200 Subject: das muss schneller gehen ... In-Reply-To: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> Message-ID: <89CBCD493DBE@informenta.de> Hallo Norbert, Norbert Pfeiffer erdachte folgende Zeilen: > mysql> update tblsignal set nStatus = 1; > Query OK, 11459572 rows affected (4 min 32.69 sec) Datensaetze > gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 > > Wie koennte man diese Aktion wesentlich beschleunigen ? Die Bedeutung des Statuswertes umdefinieren. Beispiel: In einer Einstellungstabelle steht anfangs der Wert "0" mit der Bedeutung "Alle Status-Werte <0 sind ok. Alle Werte >=0 sind nicht ok/abgesegnet.". Sämtliche Sätze werden zu der Zeit z.B. mit dem Statuswert 0 eingetragen. Dann den einen Satz der Einstellungstabelle mit "1" updaten und zukünftig sämtliche neuen Sätze mit nStatus="1" eintragen. -> "Alle Statuswerte <1 sind ok, Alle Werte >=1 sind nicht ok" Bei den nächsten Updates den Vergleichswert weiter um 1 erhöhen. Ich hoffe ich habe mich verständlich gemacht. Hängt natürlich immer vom Anwendungsfall ab... Grüße, Michael Donning -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From elmar at haneke.de Wed Jul 19 09:23:00 2006 From: elmar at haneke.de (Elmar Haneke) Date: Wed, 19 Jul 2006 09:23:00 +0200 Subject: das muss schneller gehen ... In-Reply-To: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> Message-ID: <44BDDDD4.1070509@haneke.de> Norbert Pfeiffer schrieb: > Hallo, > > mysql> update tblsignal set nStatus = 1; > Query OK, 11459572 rows affected (4 min 32.69 sec) > Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 > > Wie koennte man diese Aktion wesentlich beschleunigen ? Füge einfach mal ein "where nStatus<>1 or nStatus IS NULL" an die Update-Anweisung - sofern viele Werte bereits auf 1 stehen dürfte das was bringen. Das "nStatus is null" kann weg, wenn das Feld nicht leer sein kann. Elmar -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Wed Jul 19 09:42:47 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Wed, 19 Jul 2006 09:42:47 +0200 Subject: das muss schneller gehen ... In-Reply-To: <44BDDB0A.80500@sebastianmendel.de> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> <44BDDB0A.80500@sebastianmendel.de> Message-ID: <44BDE277.5090700@sebastianmendel.de> Sebastian Mendel schrieb: > Sebastian Mendel schrieb: >> Norbert Pfeiffer schrieb: >>> Hallo, >>> >>> mysql> update tblsignal set nStatus = 1; >>> Query OK, 11459572 rows affected (4 min 32.69 sec) >>> Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 >> Ist das direkt auf dem Server, oder auf einem Test-System? >> Sind die Zeilen fester Breite oder Variabel? > > ??? ach, und kann das Feld NULL sein? Tabellen fester Breite sind schneller. Tabellen ohne NULL (also nur NOT NULL) sind schneller. -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From peter at luft-it.de Wed Jul 19 09:41:54 2006 From: peter at luft-it.de (Peter Pfeiffer) Date: Wed, 19 Jul 2006 07:41:54 +0000 Subject: unsubscribe peter@luft-it.de Message-ID: <000049B2.44BDFE62@10.0.0.2> -------- Original Message -------- Subject: Re: das muss schneller gehen ... (19-Jul-2006 9:10) From: Sebastian Mendel To: peter at col-hahti.luft-it.loc > Sebastian Mendel schrieb: > > Norbert Pfeiffer schrieb: > >> Hallo, > >> > >> mysql> update tblsignal set nStatus = 1; > >> Query OK, 11459572 rows affected (4 min 32.69 sec) > >> Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 > > > > Ist das direkt auf dem Server, oder auf einem Test-System? > > Sind die Zeilen fester Breite oder Variabel? > > ??? > > > -- > Sebastian Mendel > > www.sebastianmendel.de > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From mysql at universalware.de Wed Jul 19 09:52:50 2006 From: mysql at universalware.de (=?iso-8859-1?Q?Andreas_M=FCller?=) Date: Wed, 19 Jul 2006 09:52:50 +0200 Subject: das muss schneller gehen ... In-Reply-To: <44BDDDD4.1070509@haneke.de> Message-ID: <0a4901c6ab08$55559d00$1500a8c0@nbandreas> Hallo Elmar, falls du das original Posting von Norbert gelesen hast wurden 11.459.572 Datensätze von 11.470.884 geändert und damit fast alle. Da bringt alles nix. MySQL ist selbst so schlau bei einem Update wie "update tblsignal set nStatus = 1" zu prüfen ob da ein Index verwendbar ist. Ob wird vor allem davon abhängig gemacht wieviel Datensätze im Verhältnis zu den Gesamtdatensätzen geändert werden müssen. Sind es extrem viel bei in Norberts Fall wird KEIN Index verwendet was auch logisch ist da der Mehraufwand des Index-Scans und der Positionierung in der Datentabelle größer ist als ein einfacher Scan über die Daten-Tabelle. Die von dir vorgeschlagene Bedingung würde die eigenintelligenz von MySQL verhindern und durch den Operator "<>" und "OR" eine Index-Verwendung fast komplett verhindern. Evtl. MySQL 5.1 kann damit etwas besser umgehen. Die Frage von Sebastian zur Art der Zeilebreite ist dagegen eine Überlegung wert. Tabellen mit "rowlength=fixed" haben den Vorteil das man hier immer in gleichen Blocklängen von Datensatz zu Datensatz navigieren kann was schneller sein kann - aber nicht immer schneller ist. Vor allem Tabellen lange Strings zwingen hier feste Zeilenlängen oft in die Knie: Der Overhead an zu lesenden Daten ist dann so groß das mehr IO Aktivitäten benötogt werden als man durch den Vorteil der gleichen Satzlänge an Aufwand spart. Nach meiner Erfahrung für Statistik Taellen - also oft lesen, selten schreiben (und darum handelt es sich bei Norbert) - lohnt sich das ganze bis zum Größenfaktor 2 gegenüber der dynamischen Satzlänge - sprich: Ist meine Tabelle mit fester Satzlänge mehr als doppelt so groß wie mit dynamischer Satzlänge bringt eine feste Satzlänge warscheinlich keinen wenn nicht sogar den gegenteiligen Effekt. Tabellen in denen häufig geändert wird, vor allem wo häufig Zeichenketten geändert werden profitieren dagegen in der Regel immer von einer festen Satzlänge. Gruß, Andreas -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Wed Jul 19 10:22:09 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Wed, 19 Jul 2006 10:22:09 +0200 Subject: das muss schneller gehen ... References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> <44BDDB0A.80500@sebastianmendel.de> <44BDE277.5090700@sebastianmendel.de> Message-ID: <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> Hallo, > > > Ist das direkt auf dem Server, oder auf einem Test-System? im Moment noch hier auf XP, spaeter unter Linux. Dort wird es erfahrungsgemaess zwar um einiges schneller laufen, aber mehr als die Laufzeit zu halbieren wird es nicht bringen. > > > Sind die Zeilen fester Breite oder Variabel? mal so, mal so, also gemischt > ach, und kann das Feld NULL sein? nein, da steht immer was drin! Der Status ist ein Verarbeitungsstatus 0 - frisch eingelesen 1 - Block komplett (fehlerfrei) eingelesen 2 - Record in Weiterverarbeitung 10 - Weiterverarbeitung abgeschlossen Da kein Script alle Daten "en block" abarbeiten und auch ein unerwarteter Abbruch auftreten kann, wurde entschieden, dies ueber einen Status zu haendeln. Zweite Forderung, der ganze Prozess soll jederzeit wiederholbar sein, falls man die Ausgangsdaten einmal anders bewerten moechte. m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Wed Jul 19 10:39:55 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Wed, 19 Jul 2006 10:39:55 +0200 Subject: das muss schneller gehen ... In-Reply-To: <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> <44BDDB0A.80500@sebastianmendel.de> <44BDE277.5090700@sebastianmendel.de> <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> Message-ID: <44BDEFDB.1060901@sebastianmendel.de> Norbert Pfeiffer schrieb: > Hallo, > >> > > Ist das direkt auf dem Server, oder auf einem Test-System? > im Moment noch hier auf XP, spaeter unter Linux. > Dort wird es erfahrungsgemaess zwar um einiges schneller laufen, > aber mehr als die Laufzeit zu halbieren wird es nicht bringen. > >> > > Sind die Zeilen fester Breite oder Variabel? > mal so, mal so, also gemischt Gemischt? Eine Tabelle kann nur fest oder variabel sein. >> ach, und kann das Feld NULL sein? > nein, > da steht immer was drin! ob immer was drinne steht ist unwichtig, die Frage war ob es NULL sein _kann_. Also mit NOT NULL definiert ist oder nicht, und auch die anderen Felder in der Tabelle. Tabellen sollten keine NULL Felder enthalten "Declare columns to be NOT NULL if possible. It makes everything faster and you save one bit per column. If you really need NULL in your application, you should definitely use it. Just avoid having it on all columns by default." Tabellen sollten eine Feste Breite haben. "For MyISAM tables, if you do not have any variable-length columns (VARCHAR, TEXT, or BLOB columns), a fixed-size row format is used. This is faster but unfortunately may waste some space. See Section 14.1.3, ?MyISAM Table Storage Formats?. You can hint that you want to have fixed length rows even if you have VARCHAR columns with the CREATE TABLE option ROW_FORMAT=FIXED." http://dev.mysql.com/doc/refman/5.0/en/data-size.html -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Wed Jul 19 11:06:09 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Wed, 19 Jul 2006 11:06:09 +0200 Subject: das muss schneller gehen ... References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> <44BDDB0A.80500@sebastianmendel.de> <44BDE277.5090700@sebastianmendel.de> <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> <44BDEFDB.1060901@sebastianmendel.de> Message-ID: <00d201c6ab12$9726c7e0$2102a8c0@PFEIFFER> Hai Sebastian, > > > > > Sind die Zeilen fester Breite oder Variabel? > > mal so, mal so, also gemischt > Gemischt? Eine Tabelle kann nur fest oder variabel sein. hmm, vielleicht in MySQL 5 ? In der 4-er Version hat jedes Feld seine eigene Breite ... 14 x varcharxy) 7 x int(x) 5 x char(x) 4 x tiniint(x) 3 x text 1 x smallint(x) ----------------- 34 Felder Wie willst Du eigentlich einer Tabelle eine feste Breite geben? Sobald varchar() oder text() dabei ist, ist doch Feierabend! > > > ach, und kann das Feld NULL sein? > > nein, > > da steht immer was drin! > ob immer was drinne steht ist unwichtig, ... f.f. okay, drei Felder mit NOT NULL, der Rest(31) darf NULL werden. Das besagte Feld ist: nStatus tinyint(4) NOT NULL default 0, m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Wed Jul 19 11:55:19 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Wed, 19 Jul 2006 11:55:19 +0200 Subject: das muss schneller gehen ... In-Reply-To: <00d201c6ab12$9726c7e0$2102a8c0@PFEIFFER> References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> <44BDDB0A.80500@sebastianmendel.de> <44BDE277.5090700@sebastianmendel.de> <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> <44BDEFDB.1060901@sebastianmendel.de> <00d201c6ab12$9726c7e0$2102a8c0@PFEIFFER> Message-ID: <44BE0187.9040700@sebastianmendel.de> Norbert Pfeiffer schrieb: > Hai Sebastian, > >> > > > > Sind die Zeilen fester Breite oder Variabel? >> > mal so, mal so, also gemischt >> Gemischt? Eine Tabelle kann nur fest oder variabel sein. > hmm, > vielleicht in MySQL 5 ? > In der 4-er Version hat jedes Feld seine eigene Breite ... > 14 x varcharxy) > 7 x int(x) > 5 x char(x) > 4 x tiniint(x) > 3 x text > 1 x smallint(x) > ----------------- > 34 Felder ja klar, aber die Gesamt-Breite der Zeile ist dann entweder fest oder variabel - in diesem Fall halt variabel ich würde die Tabelle eh aufteilen in zwei: feste Werte: 1 x SERIAL (auto_increment pk) 7 x int(x) 5 x char(x) 4 x tiniint(x) 1 x smallint(x) ----------------- Variable Werte: 1 x bigint(x) (foreign key aus Tabelle 1) 14 x varcharxy) 3 x text ----------------- eventuell selten gebrauchte Werte extra noch aus der ersten in die zweite Tabelle verschieben - aber das hängt stark von der Anwendung ab. > Wie willst Du eigentlich einer Tabelle eine feste Breite geben? > Sobald varchar() oder text() dabei ist, ist doch Feierabend! diese Felder eben vermeiden - wenn möglich siehe Handbuch und der andere Post von Andreas Müller >> > > ach, und kann das Feld NULL sein? >> > nein, >> > da steht immer was drin! >> ob immer was drinne steht ist unwichtig, ... f.f. > okay, > drei Felder mit NOT NULL, der Rest(31) darf NULL werden. > Das besagte Feld ist: nStatus tinyint(4) NOT NULL default 0, ich habe es bei so großen Tabellen noch nicht ausprobiert und weiß auch nicht ob sich dieses NULL nur auswirkt wenn das Feld mit NULL gar nicht geschrieben wird - aber grundsätzlich würde ich hier erstmal dem Handbuch vertrauen - und selber vermeide ich NULL sowieso immer. Probiere es doch einfach mal aus - alle Felder auf NOT NULL - ... würde mich auch interessieren. -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From technik at echtwahr.com Wed Jul 19 12:21:29 2006 From: technik at echtwahr.com (Technik via echtwahr.com - Neuer Server) Date: Wed, 19 Jul 2006 12:21:29 +0200 Subject: das muss schneller gehen ... In-Reply-To: <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> Message-ID: <006d01c6ab1d$25a9e3d0$0201a8c0@shivaball> Hallo, hab da mal ne frage zu dem Feld von Norbert nStatus > Der Status ist ein Verarbeitungsstatus > 0 - frisch eingelesen > 1 - Block komplett (fehlerfrei) eingelesen > 2 - Record in Weiterverarbeitung > 10 - Weiterverarbeitung abgeschlossen Wie ändert sich denn das Verhalten bei einem enum Feld nStatus ENUM('0','1','2','10') NOT NULL DEFAULT '0' Grundsätzlich ist meine Frage wie schnell ist eine UPDATE bei einem ENUM Feld mit so vielen Datensätzen? Hat da jemand eine Idee? Mit freundlichen Grüssen Thomas Goik -- Ihre Auktionsseiten im Internet http://www.auxion.de http://www.Xhammer.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From falk_fiedler at yahoo.de Wed Jul 19 12:31:06 2006 From: falk_fiedler at yahoo.de (Falk Fiedler) Date: Wed, 19 Jul 2006 12:31:06 +0200 Subject: Umstellung mysql 4 -> 5 Message-ID: <018501c6ab1e$720fe250$1500a8c0@falk> Hallo, Ich beschäftige mich gerade mit den Folgen der Umstellung von Mysql 4 auf 5. Gibt es dazu deutsche manuals? Gelesen habe ich schon dass es bei JOINS einige Änderungen geben muss, da ungenaue SELECTs nun als fehlerhaft gelten. Aber bei einfachen SELECTs? $result = mysql_query("SELECT * FROM news_neu WHERE startseite = '1' ORDER BY datum DESC"); Direkt über phpMyAdmin klappt es, aber wenn ich so eine Abfrage in PHP nutze, dann bekomme ich kein $result zurück... Woran liegt jetzt das? Danke Falk ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Wed Jul 19 13:33:04 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Wed, 19 Jul 2006 13:33:04 +0200 Subject: Umstellung mysql 4 -> 5 In-Reply-To: <018501c6ab1e$720fe250$1500a8c0@falk> References: <018501c6ab1e$720fe250$1500a8c0@falk> Message-ID: <44BE1870.1030900@sebastianmendel.de> Falk Fiedler schrieb: > Hallo, > > Ich beschäftige mich gerade mit den Folgen der Umstellung von > Mysql 4 auf 5. > > Gibt es dazu deutsche manuals? > > Gelesen habe ich schon dass es bei JOINS einige Änderungen geben muss, > da ungenaue SELECTs nun als fehlerhaft gelten. ungenau Selects? > > Aber bei einfachen SELECTs? > > $result = mysql_query("SELECT * FROM news_neu WHERE startseite = '1' ORDER > BY datum DESC"); vom SQL-Syntax her ist MySQL 5 vollkommen abwärtskompatibel zu MySQL 4 außer du hast den SQL- strict mode eingeschalten > Direkt über phpMyAdmin klappt es, aber wenn ich so eine Abfrage in PHP > nutze, dann bekomme ich > kein $result zurück... > > Woran liegt jetzt das? wohl eher nicht an MySQL ... hast du mal ein var_dump($result) gemacht? und: echo mysql_error(); echo mysql_errno(); (nach dem mysql_query() ... ) -- Sebastian Mendel www.sebastianmendel.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From falk_fiedler at yahoo.de Wed Jul 19 13:47:34 2006 From: falk_fiedler at yahoo.de (Falk Fiedler) Date: Wed, 19 Jul 2006 13:47:34 +0200 Subject: AW: Umstellung mysql 4 -> 5 In-Reply-To: <44BE1870.1030900@sebastianmendel.de> Message-ID: <01b901c6ab29$25b97dc0$1500a8c0@falk> Falscher Alarm, mein Fehler, was sonst ... Falscher DB Name ... Gibt es ansonsten trotzdem dazu deutche Manuals zu der Umstellung ... Danke Falk ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Wed Jul 19 15:10:11 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Wed, 19 Jul 2006 15:10:11 +0200 Subject: Fragen zum Gebrauch von UNION In-Reply-To: <44BD256A.2050809@sebastianmendel.de> Message-ID: <23743A18FACA4D4DA568F55844E70C99251FAA@md40.mediadefine.gmbh> Hallo Sebastian, > > > > SUM(`COUNT(pfad)`) > > > > einfach schreibe > > > > SUM(num_pfad)? Ist doch dann eigentlich das gleiche, oder? > > weil es dort kein Feld mit dem Namen `num_pfad` gibt, > die übergibst das Ergebnis der geklammerten Abfrage - und > dort gibt es nur 2 Felder: `pfad`, `COUNT(pfad)` > > Wenn du unbedingt ein Feld `num_pfad` haben möchtest muss du > es auch in der Select-Auswahl haben, z. B. als Alias: > > ... > SELECT `pfad`, COUNT(`pfad`) AS `num_pfad` > ... Danke, hat funktioniert. Nach dem selbem Schema können in Zukunft auch andere Abfragen aufgebarut sein, so dass ich Dir herzlich für die Hilfe danke. War eine große Hilfe! Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From Wolfgang at egrosna.de Wed Jul 19 16:31:00 2006 From: Wolfgang at egrosna.de (Wolfgang Ansorge) Date: Wed, 19 Jul 2006 16:31:00 +0200 Subject: unsubscribe wolfgang@egrosna.de In-Reply-To: <000049B2.44BDFE62@10.0.0.2> References: <000049B2.44BDFE62@10.0.0.2> Message-ID: <44BE4224.7020309@egrosna.de> Peter Pfeiffer schrieb: > -------- Original Message -------- > Subject: Re: das muss schneller gehen ... (19-Jul-2006 9:10) > From: Sebastian Mendel > To: peter at col-hahti.luft-it.loc > > >> Sebastian Mendel schrieb: >> >>> Norbert Pfeiffer schrieb: >>> >>>> Hallo, >>>> >>>> mysql> update tblsignal set nStatus = 1; >>>> Query OK, 11459572 rows affected (4 min 32.69 sec) >>>> Datensaetze gefunden: 11470884 Geaendert: 11459572 Warnungen: 0 >>>> >>> Ist das direkt auf dem Server, oder auf einem Test-System? >>> Sind die Zeilen fester Breite oder Variabel? >>> >> ??? >> >> >> -- >> Sebastian Mendel >> >> www.sebastianmendel.de >> >> -- >> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter >> -->> http://www.4t2.com/mysql >> >> > > > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From norbert at itbw.de Thu Jul 20 20:41:35 2006 From: norbert at itbw.de (Norbert Pfeiffer) Date: Thu, 20 Jul 2006 20:41:35 +0200 Subject: das muss schneller gehen ... References: <000301c6aa8c$0f692450$2102a8c0@PFEIFFER> <44BD26D1.3080505@sebastianmendel.de> <44BDDB0A.80500@sebastianmendel.de> <44BDE277.5090700@sebastianmendel.de> <00be01c6ab0c$6ffa4df0$2102a8c0@PFEIFFER> <44BDEFDB.1060901@sebastianmendel.de> <00d201c6ab12$9726c7e0$2102a8c0@PFEIFFER> <44BE0187.9040700@sebastianmendel.de> Message-ID: <003301c6ac2c$222eaaa0$2102a8c0@PFEIFFER> Hallo Sebastian, eigentlich hat alles nicht wirklich geholfen - aber: Im Prinzip braucht die Tabelle in dem Moment des Updates niemand, und wenn man die Tabelle lockt, wird das Update deutlich schneller. Zusammen mit einem passenden Index komme ich dann auf unter 1Minute bei 11Mio Datensaetzen. Das sollte doch eine brauchbare Loesung sein ... m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Sat Jul 22 17:22:19 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Sat, 22 Jul 2006 17:22:19 +0200 Subject: Updaten vieler ID's mit nur einer Query? Message-ID: <23743A18FACA4D4DA568F55844E70C99251FB4@md40.mediadefine.gmbh> Hallo zusammen, ich habe zwei Tabellen, bei denen ich eine 1:n Beziehung auf einen "sprechenden" Index (also einen Index über eine Zeichenkette) gesetzt hatte. Dies war ein Fehler aus meiner absoluten Anfängerzeit. Um diesen Fehler jetzt endlich mal zu beheben, habe ich in beiden Tabellen je eine neue Indexspalte mit INT und in der 1-Tabelle mit auto_increment eingefügt. Jetzt stehe ich vor dem Problem, dass ich die neu generierten ID's aus der in die N-Tabelle übertragen möchte, wobei ich den Rückbezug derzeit nicht hinbekomme. Ich kann zwar mittels SELECT A.id, A.text_id FROM tabelle1 as A INNER JOIN tabelleN as B ON A.text_id = B.text_id einen korrekten JOIN auf die beiden Tabellen anwenden, aber wie kann ich MySQL mit auf den Weg geben, dass ich den richtigen Bezug entsprechend in der N-Tabelle Updaten möchte? Also sowas wie UPDATE tabelleN SET forign_id = **** WHERE ... Natürlich könnte ich mir jetzt ein kleines PHP-Script schreiben, das mir die Updates pro ID und text_id in eine kleine Source Datei schreibt, aber wie könnte man das elegent mit einer einzigen Abfrage lösen? Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Sat Jul 22 19:15:55 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Sat, 22 Jul 2006 19:15:55 +0200 Subject: Updaten vieler ID's mit nur einer Query? In-Reply-To: <23743A18FACA4D4DA568F55844E70C99251FB4@md40.mediadefine.gmbh> References: <23743A18FACA4D4DA568F55844E70C99251FB4@md40.mediadefine.gmbh> Message-ID: <44C25D4B.8090008@sebastianmendel.de> Tim Hildebrandt schrieb: > [...] Jetzt stehe ich vor dem Problem, dass ich die neu generierten > ID's aus der in die N-Tabelle übertragen möchte, wobei ich den Rückbezug > derzeit nicht hinbekomme. > > Ich kann zwar mittels > > SELECT A.id, A.text_id FROM tabelle1 as A > INNER JOIN tabelleN as B ON A.text_id = B.text_id > > einen korrekten JOIN auf die beiden Tabellen anwenden, aber wie kann ich > MySQL mit auf den Weg geben, dass ich den richtigen Bezug entsprechend in > der N-Tabelle Updaten möchte? mit einem Multi-Table-Update http://dev.mysql.com/doc/refman/5.0/en/update.html UPDATE `tabelle1`, `tabellen` SET `tabellen`.`tabelle1_id` = `tabelle1`.`id` WHERE `tabellen`.`text_id` = `tabelle1`.`text_id` -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From TConnect at gmx.net Sat Jul 22 20:37:39 2006 From: TConnect at gmx.net (Tim Hildebrandt) Date: Sat, 22 Jul 2006 20:37:39 +0200 Subject: Updaten vieler ID's mit nur einer Query? In-Reply-To: <44C25D4B.8090008@sebastianmendel.de> Message-ID: <23743A18FACA4D4DA568F55844E70C99251FB8@md40.mediadefine.gmbh> Hallo Sebastian, > > > > einen korrekten JOIN auf die beiden Tabellen anwenden, aber > wie kann > > ich MySQL mit auf den Weg geben, dass ich den richtigen Bezug > > entsprechend in der N-Tabelle Updaten möchte? > > mit einem Multi-Table-Update > > http://dev.mysql.com/doc/refman/5.0/en/update.html > > UPDATE `tabelle1`, > `tabellen` > SET `tabellen`.`tabelle1_id` = `tabelle1`.`id` > WHERE `tabellen`.`text_id` = `tabelle1`.`text_id` Danke, hat funktioniert. Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From tabode at uni-kassel.de Sat Jul 22 22:01:39 2006 From: tabode at uni-kassel.de (tabode at uni-kassel.de) Date: Sat, 22 Jul 2006 22:01:39 +0200 Subject: Tanja Bode/Abt7/Verwaltung/Uni-Kassel ist =?ISO-8859-1?Q?au=DFer_Haus=2E?= Message-ID: Ich werde ab 21.07.2006 nicht im Büro sein. Ich kehre zurück am 31.07.2006. Ich werde Ihre Nachricht nach meiner Rückkehr beantworten. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From rhelms at mymail.ch Sun Jul 23 18:51:03 2006 From: rhelms at mymail.ch (Ruprecht Helms) Date: Sun, 23 Jul 2006 18:51:03 +0200 Subject: ODBC-Zugriff von Access 2003 auf mysql (linux) Message-ID: <44C3A8F7.4080105@mymail.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I want to access to a mysql-db stored on a linuxsystem from a access 2003-Client. On trying to access I get the following error: Could not find driver in systeminformation. Diagnoseinfos: Can't connect To MySQL serveer on 192.168.0.4 This are the entries tor the myodbc/connector under windows Data Source Name: Test Description : Testdatenbank Server : 192.168.0.4 User : linux Passwort : Properties in the mysql-db in table User: Host: User: linux div. Rechte: alle Y Connectionangaben: 0 What is going wrong in the myodbc-driver 3.51 on ms-access-side? Regards, Ruprecht Helms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEw6j3RyjqIZhNjDcRAmb/AKDveCqbgmHRTal7HoErSrXLdsw0iwCgq9Xv He2kBOwh+Qsl9igUw+aUDPI= =GKqq -----END PGP SIGNATURE----- -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From chw-le at gmx.de Mon Jul 24 12:00:41 2006 From: chw-le at gmx.de (Christoph 'Leo' =?iso-8859-1?b?V2Vp32VuYm9ybg==?=) Date: Mon, 24 Jul 2006 12:00:41 +0200 Subject: ODBC-Zugriff von Access 2003 auf mysql (linux) In-Reply-To: <44C3A8F7.4080105@mymail.ch> References: <44C3A8F7.4080105@mymail.ch> Message-ID: <1153735241.44c49a496c98d@mail.uni-leipzig.de> Hallo / Hello Ruprecht, Da dies eine deutsche (mysql-de) Mailing-Liste ist, wirst Du hier wohl eher mit einer deutschen Frage weiterkommen. Es gibt genügend englische Listen, auf denen Du Dich informieren kannst. Dein Problem scheint übrigens nicht MySQL-spezifisch zu sein, eher liegt es am Access. Frag also auch mal Access-Anwender. This is a mailing list for german. Cause this you should expect to get an answer on your german question! There are enough english mailing lists where you get help. Your problem does not seem to be specific to MySQL. Maybe you should ask also users of Access. Beste Grüße, Christoph Weißenborn -- Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7 ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From falk_fiedler at yahoo.de Sat Jul 29 19:01:13 2006 From: falk_fiedler at yahoo.de (Falk Fiedler) Date: Sat, 29 Jul 2006 19:01:13 +0200 Subject: ERROR 1062 Message-ID: <004701c6b330$99ce3cf0$1500a8c0@falk> Hallo, ich bekomme bei einem einfach INSERT folgenden Fehler: ERROR #1062 - Duplicate entry 'b567fe9c7be9328b5c4b4945e8c57437-' for key 2 Ich habe hier in der NG schon einiges nachgelesen. Ein auto-increment - Feld habe ich in der Tabelle nicht ... Die Tabelle enthält eine Art "Produktliste" - die einzelnen Artikel werden per Artikel-ID festgehalten und per SessionID an den Nutzer gebunden ... es benötigt keine auto-increment-spalte. Und doppelte SessionIDs sind unbedingt notwendig .... Wo kann denn der Fehler liegen? Komischerweise trat der Fehler erst beim Einfügen des vierten Artikels auf ... Danke Falk ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From rhelms at mymail.ch Sat Jul 29 20:13:42 2006 From: rhelms at mymail.ch (Ruprecht Helms) Date: Sat, 29 Jul 2006 20:13:42 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin Message-ID: <44CBA556.2040707@mymail.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, ich habe folgendes Problem. Wenn ich via PHP auf eine mysql-Datenbank zugreifen möchte kommt mit die Fehlermeldung 2002 - Server antwortet nicht, evtl. liegt ein Socketprobelm vor. Wenn ich allerdings eine Console aufmache und in der Shell mysql eingebe, erhalte ich den mysql-Prompt und kann SQL-Anweisungen normal absetzen. Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme mit dem Zugriff auf eine mysql-Datenbank haben. Mit freundlichen Grüßen Ruprecht Helms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEy6VWRyjqIZhNjDcRAj1eAKC09R4W/K1ocP5DEhDYd9KA0qsgmACeKfvD O/urcPB3vNtDcCLa3sAAGFg= =JHTz -----END PGP SIGNATURE----- -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From mysql-de_4t2 at koalashome.de Sat Jul 29 20:21:26 2006 From: mysql-de_4t2 at koalashome.de (Sven Eichler) Date: Sat, 29 Jul 2006 20:21:26 +0200 Subject: ERROR 1062 In-Reply-To: <004701c6b330$99ce3cf0$1500a8c0@falk> References: <004701c6b330$99ce3cf0$1500a8c0@falk> Message-ID: <200607292021.26827@koalashome.de> Hallo > ERROR #1062 - Duplicate entry 'b567fe9c7be9328b5c4b4945e8c57437-' for key 2 > > Ich habe hier in der NG schon einiges nachgelesen. Ein auto-increment - > Feld habe ich in der Tabelle nicht ... > > Die Tabelle enthält eine Art "Produktliste" - die einzelnen Artikel werden > per Artikel-ID festgehalten und per SessionID an den Nutzer gebunden ... es > benötigt keine auto-increment-spalte. Und doppelte > SessionIDs sind unbedingt notwendig .... Ist die Spalte für die SessionID auf Unique gesetzt? Die Tabellenstrucktur hier zu posten könnte hilfreich sein, wenn es das nicht ist. -- ciao Sven -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Sat Jul 29 20:27:01 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Sat, 29 Jul 2006 20:27:01 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin In-Reply-To: <44CBA556.2040707@mymail.ch> References: <44CBA556.2040707@mymail.ch> Message-ID: <44CBA875.3050901@sebastianmendel.de> Ruprecht Helms schrieb: > Hallo, > > ich habe folgendes Problem. > Wenn ich via PHP auf eine mysql-Datenbank zugreifen möchte kommt mit die > Fehlermeldung 2002 - Server antwortet nicht, evtl. liegt ein > Socketprobelm vor. > > Wenn ich allerdings eine Console aufmache und in der Shell mysql > eingebe, erhalte ich den mysql-Prompt und kann SQL-Anweisungen normal > absetzen. > > Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme > mit dem Zugriff auf eine mysql-Datenbank haben. "evtl. liegt ein Socketproblem vor" Was sagt denn phpinfo() zum MySQL socket? Kannst du aus einem eigenem PHP-Script die DB ansprechen? -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Sat Jul 29 20:28:31 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Sat, 29 Jul 2006 20:28:31 +0200 Subject: ERROR 1062 In-Reply-To: <004701c6b330$99ce3cf0$1500a8c0@falk> References: <004701c6b330$99ce3cf0$1500a8c0@falk> Message-ID: <44CBA8CF.3060503@sebastianmendel.de> Falk Fiedler schrieb: > Hallo, > > ich bekomme bei einem einfach INSERT folgenden Fehler: > > ERROR #1062 - Duplicate entry 'b567fe9c7be9328b5c4b4945e8c57437-' for key 2 > > Ich habe hier in der NG schon einiges nachgelesen. Ein auto-increment - Feld > habe ich in der Tabelle nicht ... > > Die Tabelle enthält eine Art "Produktliste" - die einzelnen Artikel werden > per Artikel-ID festgehalten und per SessionID an den Nutzer gebunden ... es > benötigt keine auto-increment-spalte. Und doppelte > SessionIDs sind unbedingt notwendig .... > > Wo kann denn der Fehler liegen? Komischerweise trat der Fehler erst > beim Einfügen des vierten Artikels auf ... Du hast ein UNIQUE Index über zwei Felder!? Dieser stört sich wohl an deinem Insert. -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From rhelms at mymail.ch Sat Jul 29 20:35:12 2006 From: rhelms at mymail.ch (Ruprecht Helms) Date: Sat, 29 Jul 2006 20:35:12 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin In-Reply-To: <44CBA875.3050901@sebastianmendel.de> References: <44CBA556.2040707@mymail.ch> <44CBA875.3050901@sebastianmendel.de> Message-ID: <44CBAA60.7070809@mymail.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Sebastian, >> Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme >> mit dem Zugriff auf eine mysql-Datenbank haben. > > "evtl. liegt ein Socketproblem vor" > > Was sagt denn phpinfo() zum MySQL socket? /tmp/mysql.sock > Kannst du aus einem eigenem PHP-Script die DB ansprechen? Warning: mysql_connect(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /www/htdocs/controlling/kostenart_test.php on line 2 Gruss Ruprecht Helms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEy6pgRyjqIZhNjDcRArSpAJ4hN37iO7oX/kytCxrico6wtMUMxwCfeF9Z K2Z9hdaqz1v9Qogzzz+5W8w= =Ui4v -----END PGP SIGNATURE----- -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From mysql-de_4t2 at koalashome.de Sat Jul 29 20:41:13 2006 From: mysql-de_4t2 at koalashome.de (Sven Eichler) Date: Sat, 29 Jul 2006 20:41:13 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin In-Reply-To: <44CBA556.2040707@mymail.ch> References: <44CBA556.2040707@mymail.ch> Message-ID: <200607292041.13393@koalashome.de> > Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme > mit dem Zugriff auf eine mysql-Datenbank haben. Ist das jetzt ein generelles Problem, das auch andere PHP-Scripte betrifft die auf MySQL zugreifen oder betrifft das ausschließlich phpMyAdmin? Welches Betriebssystem wird verwendet? Evtl. fehlt die richtige libmysqlclient-Library? Wurde ein MySQL-Update durchgeführt? -- ciao Sven -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From andre at krajnik.de Sat Jul 29 20:42:20 2006 From: andre at krajnik.de (Andre Krajnik) Date: Sat, 29 Jul 2006 20:42:20 +0200 Subject: Problem mit Kreuztabelle / JOIN Message-ID: <44CBAC0C.60905@krajnik.de> Hi. ich benötige Hilfe bei einer Kreuzabelle. ICh möchte eine Report erzeugen, welche Software auf bestimmten PCs installiert ist. Dafür soll für jede Software, die auf einem PC isntalliert ist ein X gemacht werden. zudem am Zeilenende eine Summierung. Die Summierung klappt auch, aber von den "X" kommt immer nur eines pro Zeile. warum? select s.Software, if (t.PC = "anke", "X", "") AS Anke, if (t.PC = "buchhaltung", "X", "") as Buchhaltung, if (t.PC = "empfang", "X", "") as Empfang, if (t.PC = "ernaehrung", "X", "") as Ernaehrung, if (t.PC = "team", 1, "") as Team, count(*) as Summe from tsms t INNER join Software s using(swid) Group by Software; mysql> describe tsms; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | PC | varchar(12) | YES | | NULL | | | Software | varchar(50) | YES | | NULL | | | Version | varchar(20) | YES | | NULL | | | Size | varchar(12) | YES | | NULL | | | swid | int(11) | | | 0 | | +----------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) mysql> describe Software; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | Software | varchar(50) | | | | | | swid | int(11) | | PRI | 0 | | +----------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Sat Jul 29 20:53:16 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Sat, 29 Jul 2006 20:53:16 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin In-Reply-To: <44CBAA60.7070809@mymail.ch> References: <44CBA556.2040707@mymail.ch> <44CBA875.3050901@sebastianmendel.de> <44CBAA60.7070809@mymail.ch> Message-ID: <44CBAE9C.7050100@sebastianmendel.de> Ruprecht Helms schrieb: > Hi Sebastian, > >>>> Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme >>>> mit dem Zugriff auf eine mysql-Datenbank haben. >>> "evtl. liegt ein Socketproblem vor" >>> >>> Was sagt denn phpinfo() zum MySQL socket? > > /tmp/mysql.sock > >>> Kannst du aus einem eigenem PHP-Script die DB ansprechen? > > Warning: mysql_connect(): Can't connect to local MySQL server through > socket '/tmp/mysql.sock' (2) in > /www/htdocs/controlling/kostenart_test.php on line 2 und wo liegt dein Socket wirklich? Linux? musst dein PHP mit den richtigen Einstellungen kompilieren oder die php.ini anpassen oder kein Socket verwenden -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From rhelms at mymail.ch Sat Jul 29 20:57:18 2006 From: rhelms at mymail.ch (Ruprecht Helms) Date: Sat, 29 Jul 2006 20:57:18 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin In-Reply-To: <200607292041.13393@koalashome.de> References: <44CBA556.2040707@mymail.ch> <200607292041.13393@koalashome.de> Message-ID: <44CBAF8E.6070107@mymail.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo Sven, >> Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme >> mit dem Zugriff auf eine mysql-Datenbank haben. > > Ist das jetzt ein generelles Problem, das auch andere PHP-Scripte betrifft die > auf MySQL zugreifen oder betrifft das ausschließlich phpMyAdmin? Ich habe das Problem bei allen PHP-Scripte, die auf mysql zugreifen > Welches Betriebssystem wird verwendet? Suse Linux 10.1 > Evtl. fehlt die richtige libmysqlclient-Library? möglich. Mysql wurde allerdings vom tarball installiert. Wie gesagt, über die Konsole kann ich mysql bedienen. > Wurde ein MySQL-Update durchgeführt? nein das ist noch die letzte der 4er-Versionen. Kann natürlich sein, dass der Wurm im PHP sitzt. Allerdings ist da nichts verändert worden und ist ebenfalls vom tarball installiert. Gruss Ruprecht Helms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEy6+ORyjqIZhNjDcRAsncAJ9a5Mg0MvV0v3IKsTHmXhC7rYlLtACg5VmL 1uh6UuEmYkLPC4W1AXeFIGI= =HQfh -----END PGP SIGNATURE----- -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From rhelms at mymail.ch Sat Jul 29 21:18:15 2006 From: rhelms at mymail.ch (Ruprecht Helms) Date: Sat, 29 Jul 2006 21:18:15 +0200 Subject: Zugriffsprobleme mit PhpMyAdmin In-Reply-To: <44CBAE9C.7050100@sebastianmendel.de> References: <44CBA556.2040707@mymail.ch> <44CBA875.3050901@sebastianmendel.de> <44CBAA60.7070809@mymail.ch> <44CBAE9C.7050100@sebastianmendel.de> Message-ID: <44CBB477.2090406@mymail.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Sebastian, >> >>>>> Was kann die Ursache sein, dass PHP und PhpMyAdmin plötzlich Probleme >>>>> mit dem Zugriff auf eine mysql-Datenbank haben. >>>> "evtl. liegt ein Socketproblem vor" >>>> >>>> Was sagt denn phpinfo() zum MySQL socket? >> /tmp/mysql.sock >> >>>> Kannst du aus einem eigenem PHP-Script die DB ansprechen? >> Warning: mysql_connect(): Can't connect to local MySQL server through >> socket '/tmp/mysql.sock' (2) in >> /www/htdocs/controlling/kostenart_test.php on line 2 > > und wo liegt dein Socket wirklich? unter /var/lib/mysql liegt dieser > Linux? > > musst dein PHP mit den richtigen Einstellungen kompilieren oder die > php.ini anpassen dann werde ich wohl in der php.ini nachsehen > oder kein Socket verwenden > Gruss Ruprecht Helms -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEy7R3RyjqIZhNjDcRAu7lAJ926F1zGQkxFwZE5XI5t3mVMf55PACffbgv MGuhjQnneeet/5ZnIZGcrFc= =80QY -----END PGP SIGNATURE----- -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From falk_fiedler at yahoo.de Sun Jul 30 10:04:57 2006 From: falk_fiedler at yahoo.de (Falk Fiedler) Date: Sun, 30 Jul 2006 10:04:57 +0200 Subject: AW: ERROR 1062 In-Reply-To: <44CBA8CF.3060503@sebastianmendel.de> Message-ID: <023701c6b3ae$d9619410$1500a8c0@falk> >> Du hast ein UNIQUE Index über zwei Felder!? Ja, ich seh es gerade selber, ich hab die DB nicht angelegt ... Und eine Teil der Anwendung auch nicht progammiert. Es sind zwei UNIQUE INDEX über jeweils zwei Felder: INDEX "kundenID" über die Felder: kundenID und artikelID INDEX sessionID über die Felder: sessionID und artikelID Unter MySQL 4 scheint es mit der Variante kein Problem gegeben zu haben ... Falk ___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From lists at sebastianmendel.de Sun Jul 30 10:32:58 2006 From: lists at sebastianmendel.de (Sebastian Mendel) Date: Sun, 30 Jul 2006 10:32:58 +0200 Subject: ERROR 1062 In-Reply-To: <023701c6b3ae$d9619410$1500a8c0@falk> References: <023701c6b3ae$d9619410$1500a8c0@falk> Message-ID: <44CC6EBA.20602@sebastianmendel.de> Falk Fiedler schrieb: >>> Du hast ein UNIQUE Index über zwei Felder!? > > Ja, ich seh es gerade selber, ich hab die DB nicht angelegt ... > Und eine Teil der Anwendung auch nicht progammiert. > > Es sind zwei UNIQUE INDEX über jeweils zwei Felder: > > INDEX "kundenID" über die Felder: > kundenID und artikelID > > INDEX sessionID über die Felder: > sessionID und artikelID > > Unter MySQL 4 scheint es mit der Variante kein Problem > gegeben zu haben ... MySQL 4 verhält sich in diesem Punkt kein bisschen anders als MySQL 3 oder 5 -- Sebastian -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From donning at informenta.de Mon Jul 31 09:31:12 2006 From: donning at informenta.de (Michael Donning) Date: Mon, 31 Jul 2006 09:31:12 +0200 Subject: Problem mit Kreuztabelle / JOIN In-Reply-To: <44CBAC0C.60905@krajnik.de> Message-ID: <360B1FA07940@informenta.de> Hallo Andre, Andre Krajnik erdachte folgende Zeilen: > (...) > ICh möchte eine Report erzeugen, welche Software auf bestimmten PCs > installiert ist. Dafür soll für jede Software, die auf einem PC > isntalliert ist ein X gemacht werden. zudem am Zeilenende eine > Summierung. Die Summierung klappt auch, aber von den "X" kommt immer > nur eines pro Zeile. warum? > > select s.Software, > if (t.PC = "anke", "X", "") AS Anke, > if (t.PC = "buchhaltung", "X", "") as Buchhaltung, if (t.PC = > "empfang", "X", "") as Empfang, if (t.PC = "ernaehrung", "X", "") as > Ernaehrung, if (t.PC = "team", 1, "") as Team, > count(*) as Summe > from tsms t INNER join Software s using(swid) Group by Software; > (...) Sollte eine der Spalten NULL-Werte enthalten, so geben Vergleiche mit Ihm ungültige Werte. Also entweder definierst Du die Spalten als NOT NULL mit Default "" oder du fängst den Fall mit z.B. einem verschachtelten, IF(t.PC is NULL,"",t.PC) ab. Deine Gruppierung ist mir ehrlich gesagt auch nicht so ganz klar für die Felder Anke, Buchhaltung etc. ist nicht definiert, wie sie aggregiert werden sollen. Vielleicht solltes Du mit Hilfe einer IF-Funktion je nach Zustand die Werte 1 oder 0 generieren. Dann das je Spalte mit der Sum() Funktion addieren. (Ergibt vermutlich 1 oder 0) und auf die Sum dann Nocheinmal ein IF um die 1 in ein "X" umzusetzen. Also z.B. so ungefähr, ungetestet: IF (SUM(IF (if (t.pc is null,"",t.pc)="anke", 1,0)),"X","") as Anke Es gibt sicherlich auch noch andere Ansätze. mit freundlichen Grüßen, Michael Donning -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql From rhelms at mymail.ch Mon Jul 31 10:19:38 2006 From: rhelms at mymail.ch (Ruprecht Helms) Date: Mon, 31 Jul 2006 10:19:38 +0200 Subject: Problem mit Kreuztabelle / JOIN In-Reply-To: <360B1FA07940@informenta.de> References: <360B1FA07940@informenta.de> Message-ID: <44CDBD1A.9040802@mymail.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Michael Donning wrote: > Vielleicht solltes Du mit Hilfe einer IF-Funktion je nach Zustand die Werte > 1 oder 0 generieren. Dann das je Spalte mit der Sum() Funktion addieren. > (Ergibt vermutlich 1 oder 0) und auf die Sum dann Nocheinmal ein IF um die 1 > in ein "X" umzusetzen. Ich gliedere die Fallunterscheidung und Weiterverarbeitung von Feldinhalten immer gerne in ein Script aus. Meist ist dies ein PHP-Script. Dann reicht auch eine einfache SELECT-Anweisung. Gruss Ruprecht Helms - --------------------------------------------------------------------------------- Ruprecht Helms IT-Service & Softwareentwicklung let worktools be individual Web: http://www.rheyn.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEzb0aOAckbBgiIFcRAkvbAJ4/hekgFx1VI6Tgbe0hPV+EVAi2ygCfYp1t xWSrmg0ZGWgIWYzgxVEtwtY= =5n8q -----END PGP SIGNATURE----- -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql