From cwunderlich at gmx.de Sun Apr 1 21:06:21 2007 From: cwunderlich at gmx.de (Christian Wunderlich) Date: Sun, 01 Apr 2007 21:06:21 +0200 Subject: =?ISO-8859-1?Q?Anf=E4ngerfrage_Importproblem?= Message-ID: <461002AD.4030605@gmx.de> Hallo, ich habe mir eine Datenbank aufgebaut um für ein Rollenspiel Zauber zu verwalten. Wenn ich die Daten per phpmyadmin eingebe habe ich auch keine Schwierigkeiten. Sobald ich versuche die Daten aus einer Datei einzulesen bekomme ich immer die Fehlermeldung Fehler Ungültige Anzahl an Feldern in Zeile 1. Allerdings habe ich mehrmals nachgezählt und komme bei beiden auf 15 Felder. Hier ist die Struktur der Datenbank: Server: localhost - Datenbank: zauber - Tabelle: zauber zauber Feld Typ Null Standard Verweise Kommentare MIME Name varchar(50) Nein Schule varchar(50) Nein Klasse tinyint(4) Nein Grad tinyint(4) Nein Buch tinyint(4) Nein Reichweite varchar(25) Nein AoE varchar(25) Nein CT varchar(25) Nein Duration varchar(25) Nein ST varchar(25) Nein VC tinyint(1) Nein SC tinyint(1) Nein MC tinyint(1) Nein Text mediumtext Nein Komponente text Ja NULL Indizes: Name Typ Kardinalität Feld PRIMARY PRIMARY 7 Name Ist jetzt leider etwas zerrissen, ich hoffe dennoch lesbar. Und hier ist eine Zeile die ich einlesen wollte: "Erase"#"Alteration"#"1"#"1"#"1"#"30 yds."#"1 scroll or 2 pages"#"1"#"Permanent"#"Special"#"1"#"1"#"0"#"The erase spell removes writings of either magical or mundane nature from a scroll or from one to two pages of paper, parchment, or similar surfaces. It removes explosive runes, glyphs of warding, sepia snake sigils, and wizard marks, but it does not remove illusory script or symbols (see those spells). Nonmagical writings are automatically erased if the caster is touching them; otherwise, the chance for success is 90%. Magical writings must be touched, and are only 30% likely to be erased, plus 5% per caster level, to a maximum of 90% (for example, 35% for a 1st-level caster, 40% for a 2nd-level caster, etc.)."#""# Wäre schön wenn mir jemand einen Tipp geben kann wo mein Fehler liegt. Gruß, Christian _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From driessen at edv-driessen.de Sun Apr 1 21:44:12 2007 From: driessen at edv-driessen.de (Uwe Driessen) Date: Sun, 1 Apr 2007 21:44:12 +0200 Subject: =?iso-8859-1?Q?RE:_Anf=E4ngerfrage_Importproblem?= In-Reply-To: <461002AD.4030605@gmx.de> References: <461002AD.4030605@gmx.de> Message-ID: <000001c77496$203f3c40$0565a8c0@uwe> Christian Wunderlich schrieb: > Subject: Anfängerfrage Importproblem > > Hallo, > > ich habe mir eine Datenbank aufgebaut um für ein Rollenspiel Zauber zu > verwalten. Wenn ich die Daten per phpmyadmin eingebe habe ich auch keine > Schwierigkeiten. Sobald ich versuche die Daten aus einer Datei > einzulesen bekomme ich immer die Fehlermeldung > > Fehler > Ungültige Anzahl an Feldern in Zeile 1. > > Allerdings habe ich mehrmals nachgezählt und komme bei beiden auf 15 Felder. > > Hier ist die Struktur der Datenbank: > > > Server: localhost - Datenbank: zauber - Tabelle: zauber > zauber > Feld Typ Null Standard Verweise Kommentare MIME > Name varchar(50) Nein > Schule varchar(50) Nein > Klasse tinyint(4) Nein > Grad tinyint(4) Nein > Buch tinyint(4) Nein > Reichweite varchar(25) Nein > AoE varchar(25) Nein > CT varchar(25) Nein > Duration varchar(25) Nein > ST varchar(25) Nein > VC tinyint(1) Nein > SC tinyint(1) Nein > MC tinyint(1) Nein > Text mediumtext Nein > Komponente text Ja NULL > > > Indizes: > Name Typ Kardinalität Feld > PRIMARY PRIMARY 7 Name > > Ist jetzt leider etwas zerrissen, ich hoffe dennoch lesbar. > Und hier ist eine Zeile die ich einlesen wollte: > > "Erase"#"Alteration"#"1"#"1"#"1"#"30 yds."#"1 scroll or 2 > pages"#"1"#"Permanent"#"Special"#"1"#"1"#"0"#"The erase spell removes > writings of either magical or mundane nature from a scroll or from one > to two pages of paper, parchment, or similar surfaces. It removes > explosive runes, glyphs of warding, sepia snake sigils, and wizard > marks, but it does not remove illusory script or symbols (see those > spells). Nonmagical writings are automatically erased if the caster is > touching them; otherwise, the chance for success is 90%. Magical > writings must be touched, and are only 30% likely to be erased, plus 5% > per caster level, to a maximum of 90% (for example, 35% for a 1st-level > caster, 40% for a 2nd-level caster, etc.)."#""# > > Wäre schön wenn mir jemand einen Tipp geben kann wo mein Fehler liegt. > > Gruß, > Christian Öhm ja und wo ist die Procedur mit der du einliest ? Evtl auch mal das letzte # weglassen da wird wenn ich das richtig weis ein weiteres Feld dahinter erwartet bzw. kommt drauf an wie das Satzende definiert ist. Mit freundlichen Grüßen Drießen -- Software & Computer Uwe Drießen Lembergstraße 33 67824 Feilbingert Tel.: 06708 / 660045 Fax: 06708 / 661397 _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From cwunderlich at gmx.de Mon Apr 2 12:01:41 2007 From: cwunderlich at gmx.de (Christian Wunderlich) Date: Mon, 02 Apr 2007 12:01:41 +0200 Subject: =?ISO-8859-1?Q?Anf=E4ngerfrage_Importproblem?= In-Reply-To: <000001c77496$203f3c40$0565a8c0@uwe> References: <461002AD.4030605@gmx.de> <000001c77496$203f3c40$0565a8c0@uwe> Message-ID: <4610D485.6000602@gmx.de> Besten Danke. Das war genau mein Fehler. Ich hab geahnt das es was leichtes ist, dummerweise nicht gefunden. Gruß, Christian _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From info at schronen.de Fri Apr 6 13:22:00 2007 From: info at schronen.de (Alwin Michael SCHRONEN) Date: Fri, 06 Apr 2007 13:22:00 +0200 Subject: Datentyp =?ISO-8859-15?Q?f=FCr_Liste?= Message-ID: <46162D58.5010306@schronen.de> Hallo, ich muss in jedem Datensatz eine Liste von 10 Zahlen abspeichern. Später kann die Abfrage z. B. so aussehen: SELECT * from Table1 WHERE 1,23,45 in ZAHLEN_SPALTE; Geht so etwas mit MySQL? Mit dem Datentyp SET habe ich es bisher nicht geschafft ... Danke für Eure Hilfe ams -- Alwin Michael Schronen Kirchenmusiker Hohenzollernstrasse 78 d D - 66 117 Saarbruecken Tel. +49 681 754 00 91 Mobil +49 160 9476 3884 ams at schronen.de _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From rico at netbreaker.de Fri Apr 6 15:27:47 2007 From: rico at netbreaker.de (Rico Koerner) Date: Fri, 06 Apr 2007 15:27:47 +0200 Subject: Datentyp =?ISO-8859-1?Q?f=FCr_Liste?= In-Reply-To: <46162D58.5010306@schronen.de> References: <46162D58.5010306@schronen.de> Message-ID: <46164AD3.2040304@netbreaker.de> Alwin Michael SCHRONEN schrieb: > Hallo, > > ich muss in jedem Datensatz eine Liste von 10 Zahlen abspeichern. Wie groß ist der Zahlenbereich? Ich gehe davon aus, daß er konstant ist. Dann fallen mir spontan 2 Ansätze ein: 1. für jede Zahl eine Spalte S_$Zahl als ENUM(false,true) und .. WHERE S_1 = true AND S_23 = true ... 2. die Zahlenfolge Binär kodieren (was SET ja im Prinzip DB-intern macht) und entsprechend abspeichern. Beim Auslesen dann wieder einen Binärvergleich anwenden. Hab das bisher aber noch nie umgesetzt. Evtl. mußt du den Zahlenbereich auf mehrere Blöcke aufteilen > SELECT * from Table1 WHERE 1,23,45 in ZAHLEN_SPALTE; sollte das nicht WHERE ZAHLEN_SPALTE IN (1,23,45) heißen? Allerdings macht das glaub ich eine ODER-Abfrage. Zumindest hab ich es bisher so auf INT-Felder angewendet, wenn ich mich recht entsinne. Die Lösung mit SET findest du wahrscheinlich hier: http://dev.mysql.com/doc/refman/5.1/de/set.html HTH Rico _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From norbert at itbw.de Sat Apr 7 12:32:36 2007 From: norbert at itbw.de (Norbert Pfeiffer) Date: Sat, 7 Apr 2007 12:32:36 +0200 Subject: geht das auch ohne PHP Message-ID: <000901c77900$331eb5c0$1402a8c0@Master> Hallo, in einer Tabelle stehen Objekte mit eindeutigen IDs. CREATE TABLE objects { oID int(11) NOT NULL auto_increment, name varchar(11) NOT NULL default '', PRIMARY KEY (oID) } In einer zweiten Tabelle stehen dazu Eigenschaften. CREATE TABLE propertys { oID int(11) NOT NULL default 0, props varchar(11) NOT NULL default '' } Sucht man jetzt nach einer Eigenschaft, erhaelt man u.U. die oID von mehreren Objekten, was soweit auch okay ist. Derzeit packe ich diese oID's in ein Array und lasse zu jedem Objekt alle Eigenschaften ausgeben. Das klappt, ist jedoch etwas langsam, weil man zwei Querys absetzen muss. SELECT o.oID FROM objects AS o LEFT JOIN propertys AS p ON o.oID = p.oID WHERE props IN ('gelb', 'rot'); SELECT o.oID, o.name, p.props FROM objects AS o LEFT JOIN propertys AS p ON o.oID = p.oID WHERE o,oID IN (12, 23, 174, 233); Deshalb die Frage, wie kann man aus diesen zwei Querys eines machen? Und ideal waere es, wenn man die Eigebnschaften eines Objektes in eine Zeile bekommen wuerde, d.h. in obigen Beispiel bleiben ganze vier Zeilen uebrig, gegenueber den drei Dutzend jetzt. m. b. G. Norbert ------------------ mobil 0177-1741686 ------------------ e.o.m. _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From rico at netbreaker.de Sat Apr 7 13:37:43 2007 From: rico at netbreaker.de (Rico Koerner) Date: Sat, 07 Apr 2007 13:37:43 +0200 Subject: geht das auch ohne PHP In-Reply-To: <000901c77900$331eb5c0$1402a8c0@Master> References: <000901c77900$331eb5c0$1402a8c0@Master> Message-ID: <46178287.7040001@netbreaker.de> Norbert Pfeiffer schrieb: > Hallo, > > in einer Tabelle stehen Objekte mit eindeutigen IDs. > CREATE TABLE objects { > oID int(11) NOT NULL auto_increment, > name varchar(11) NOT NULL default '', > PRIMARY KEY (oID) > } > > In einer zweiten Tabelle stehen dazu Eigenschaften. > CREATE TABLE propertys { > oID int(11) NOT NULL default 0, > props varchar(11) NOT NULL default '' > } > > Sucht man jetzt nach einer Eigenschaft, erhaelt man u.U. die oID > von mehreren Objekten, was soweit auch okay ist. > > Derzeit packe ich diese oID's in ein Array und lasse zu jedem Objekt > alle Eigenschaften ausgeben. Das klappt, ist jedoch etwas langsam, > weil man zwei Querys absetzen muss. > > SELECT o.oID > FROM objects AS o > LEFT JOIN propertys AS p > ON o.oID = p.oID > WHERE props IN ('gelb', 'rot'); > > SELECT o.oID, o.name, p.props > FROM objects AS o > LEFT JOIN propertys AS p > ON o.oID = p.oID > WHERE o,oID IN (12, 23, 174, 233); Sind die oIDs in der 2. Abfrage das Ergebnis aus der 1. Abfrage? > Deshalb die Frage, wie kann man aus diesen zwei Querys eines machen? Ein einfaches Zusammenfassen der 2 Abfragen erreichst du mit einer Subquery: http://dev.mysql.com/doc/refman/5.1/de/subqueries.html Was ist eigentlich das Ziel deiner Abfrage? Ich versuche das mal zu interpretieren: Du suchtst erst nach Objekten mit bestimmten Eigenschaften und willst dann diese Objekte mit allen Eigenschaften ausgeben. > Und ideal waere es, wenn man die Eigebnschaften eines Objektes in > eine Zeile bekommen wuerde, d.h. in obigen Beispiel bleiben ganze > vier Zeilen uebrig, gegenueber den drei Dutzend jetzt. Was wäre daran ideal? Wie willst du die Daten damit einfacher verarbeiten? Das wird schwer gehen, wenn überhaupt möglich. Die Abfrage wäre dann um ein vielfaches komplexer. Aber du kannst mit 'ORDER BY oID' das ganze entsprechend sortieren lassen und dann per PHP ausgeben lassen. Ich würde das eher mit 'WHERE oID = $id' innerhalb einer Schleife in PHP abarbeiten. Schließlich willst du das ja in der Ausgabe noch in eine Form bringen. Die Anzahl der SQL-Abfragen sollte hier nicht das Performance-Problem sein. Alternativ kannst die das Ergebnis der komplexen Abfrage mit Subquery in ein mehrdimensionales Array werfen und dieses dann in PHP weiterverarbeiten. Welcher Weg hier effektiver ist bleibt dem persönlichen Geschmack bzw. Programmierstil vorbehalten. Gruß Rico _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From info at schronen.de Sat Apr 7 22:08:24 2007 From: info at schronen.de (Alwin Michael Schronen) Date: Sat, 07 Apr 2007 22:08:24 +0200 Subject: Datentyp =?ISO-8859-1?Q?f=FCr_Liste?= In-Reply-To: <46162D58.5010306@schronen.de> References: <46162D58.5010306@schronen.de> Message-ID: <4617FA38.3060303@schronen.de> > ich muss in jedem Datensatz eine Liste von 10 Zahlen abspeichern. Danke Rico und Norbert, ich schaue mir Eure Hinweise jetzt mal genauer an. Vielleicht sollte ich mir Vorhaben doch noch genauer beschreiben: Es geht um eine Lotterie, bei der immer 10 Zahlen (zwischen 1 und 100) gezogen werden. Jede Ziehung ist also ein Datensatz mit 10 Zahlen. Jeder Spieler tippt 10 Zahlen, ab 4 richtigen Zahlen gibt es einen Gewinn ... Gruß ams -- Alwin Michael Schronen Kirchenmusiker Hohenzollernstrasse 78 d D - 66 117 Saarbruecken Tel. +49 681 94 74 460 Fax. +49 681 94 74 512 Mobil +49 160 94 76 3884 info at schronen.de _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From norbert at itbw.de Mon Apr 9 03:46:42 2007 From: norbert at itbw.de (Norbert Pfeiffer) Date: Mon, 9 Apr 2007 03:46:42 +0200 Subject: Datentyp für Liste References: <46162D58.5010306@schronen.de> <4617FA38.3060303@schronen.de> Message-ID: <000601c77a49$a376ed70$1402a8c0@Master> Hai ams, also Lotto fand ich mal sehr faszinierend. In einer Firma haben wir 15 Jahre in einer Gruppe nach System gespielt. Dabei kam aber nur jedes Jahr eine Weihnachtsfeier heraus, welche meines Wissens ohne Folgen geblieben sind, die Weihnachtsfeiern ... ;-) Am effektivsten sollten Strings die Tippreihen aufnehmen koennen. Bei 99999 Tippreihen braucht mein PC dann rund 26 Sekunden zur Auswertung, wobei da die Erzeugung der Reihen inclusive ist. http://www.uris.de/test/lotterie.php http://www.uris.de/test/lotterie.code.php m. b. G. Norbert ------------------ mobil 0177-1741686 ------------------ e.o.m. _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From benedikt at quirmbach.de Wed Apr 11 10:04:36 2007 From: benedikt at quirmbach.de (Benedikt Quirmbach) Date: Wed, 11 Apr 2007 10:04:36 +0200 Subject: =?ISO-8859-1?Q?SELECT_DISTINCT_=FCber_mehrere_Tabellen?= Message-ID: <656C76FC-B45D-49BA-B307-840FA87D5E4E@quirmbach.de> Hallo, ich habe eine Datenbank mit mehreren Tabellen. Die Datensätze in den Tabellen haben verschiedene "besitzer". Jeder "besitzer" kann Datensätze anlegen. Jeder "besitzer" hat eine eigene Nummer, mit der seine Datensätze im Feld besitzer markiert sind. Um die Aktivität der "besitzer" zu messen, möchte ich alle Besitzernummern erfahren, die in mindestens einer der Tabellen mindestens einen Datensatz angelegt haben. Um meine Test-Accounts auszuschließen, suche ich nur nach Besitzernummern kleiner 8999. Wenn man das mit einer einzigen Tabelle macht, geht das ja ganz einfach mit "SELECT DISTINCT besitzer FROM tabelle_xyz WHERE besitzer<8999". Angenommen meine Tabellen heißen tabelle_a, tabelle_b ... tabelle_e. In jeder Tabelle gibt es ein Feld besitzer mit den Besitzernummern. Wie muss dann die Abfrage lauten? Benedikt _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From andreas.kretschmer at schollglas.com Wed Apr 11 10:21:06 2007 From: andreas.kretschmer at schollglas.com (A. Kretschmer) Date: Wed, 11 Apr 2007 10:21:06 +0200 Subject: SELECT DISTINCT =?iso-8859-1?B?/GJl?= =?iso-8859-1?Q?r?= mehrere Tabellen In-Reply-To: <656C76FC-B45D-49BA-B307-840FA87D5E4E@quirmbach.de> References: <656C76FC-B45D-49BA-B307-840FA87D5E4E@quirmbach.de> Message-ID: <20070411082106.GD29744@a-kretschmer.de> am Wed, dem 11.04.2007, um 10:04:36 +0200 mailte Benedikt Quirmbach folgendes: > Wie muss dann die Abfrage lauten? http://www.google.de/search?hl=de&q=sql+union+all&btnG=Google-Suche&meta= Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From ibekowies at shavingkiwis.de Fri Apr 13 18:03:40 2007 From: ibekowies at shavingkiwis.de (ilja) Date: Fri, 13 Apr 2007 18:03:40 +0200 Subject: Query Optimierung "Neueste Beitraege meiner Freunde" Message-ID: <461FA9DC.4070506@shavingkiwis.de> Hallo Liste, Folgendes Szenario: Tabelle "Freunde" bestehend aus "UserIdSource" und "UserIdTarget" Tabelle "Beiträge" bestehend aus "Id", "Text", "Datum" und "UserId" nun möchte ich alle Beitraege meiner Freunde haben, sortiert nach Datum absteigend... meine Id ist beispielsweise 77 SELECT * FROM Beiträge B INNER JOIN Freunde F ON (F.UserIdTarget = B.UserId AND F.UserIdSource = 77) ORDER BY B.Datum DESC Ich habe einen Index ueber zwei Spalten auf der Tabelle Beiträge: (UserId,Id) Und auf der Freunde Tabelle einen Index: (UserIdSource,UserIdTarget) und andersrum. Die Freunde Tabelle ist sehr klein, die Beitraege Tabelle ist riesig. Es ist also richtig wenn Mysql erst die Freunde herausfindet und an dieses Ergebnis die Beitraege joined... Leider wird der Index der Beitraege Tabelle nicht zum sortieren benutzt... Kann ich irgendwie den USING TEMPORARY, USING FILESORT wegbekommen? grueße, Ilja ____________ Virus checked by G DATA AntiVirusKit Version: AVK 17.3957 from 13.04.2007 Virus news: www.antiviruslab.com _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From technik at auxion.de Mon Apr 16 08:15:56 2007 From: technik at auxion.de (Technik auXion.de) Date: Mon, 16 Apr 2007 08:15:56 +0200 Subject: Query Optimierung "Neueste Beitraege meiner Freunde" In-Reply-To: <461FA9DC.4070506@shavingkiwis.de> References: <461FA9DC.4070506@shavingkiwis.de> Message-ID: <006d01c77fee$b2ad6300$0201a8c0@thomas> Hallo; > SELECT * FROM > Beiträge B INNER JOIN Freunde F ON (F.UserIdTarget = B.UserId AND > F.UserIdSource = 77) > ORDER BY B.Datum DESC Und wenn du die Abfrage so machts: SELECT * FROM Freunde F LEFT JOIN Beiträge B ON (F.UserIdTarget = B.UserId) WHERE F.UserIdSource = 77 ORDER BY B.Datum DESC Dann solltest Du aber Index auf folgende Felder haben: F.UserIdTarget, B.UserId (Weil im JOIN Vergelich) F.UserIdSource = Weil im WHERE Bereich B.Datum = Weger der Sortierung Ausserdem Rate ich immer die Felder im SELECT anzugeben die du auch Abfragen möchtest. Mit freundlichen Grüssen Thomas Goik Ihre Auktionsseiten im Internet http://www.auxion.de http://www.Xhammer.de -- Lofox GmbH Geschäftsführerin: Evelyn Fuchs Im Kamperholz 48 44805 Bochum - Germany Amtsgericht Bochum HRB 7042 USt-IdNr.: DE215698227 St.-Nr. Bochum 306/5885/0172 > -----Original Message----- > From: mysql-de-bounces at lists.4t2.com [mailto:mysql-de- > bounces at lists.4t2.com] On Behalf Of ilja > Sent: Friday, April 13, 2007 6:04 PM > To: mysql-de at lists.4t2.com > Subject: Query Optimierung "Neueste Beitraege meiner Freunde" > > Hallo Liste, > > Folgendes Szenario: > > Tabelle "Freunde" bestehend aus "UserIdSource" und "UserIdTarget" > Tabelle "Beiträge" bestehend aus "Id", "Text", "Datum" und "UserId" > > nun möchte ich alle Beitraege meiner Freunde haben, sortiert nach Datum > absteigend... > meine Id ist beispielsweise 77 > > SELECT * FROM > Beiträge B INNER JOIN Freunde F ON (F.UserIdTarget = B.UserId AND > F.UserIdSource = 77) > ORDER BY B.Datum DESC > > Ich habe einen Index ueber zwei Spalten auf der Tabelle Beiträge: > (UserId,Id) > Und auf der Freunde Tabelle einen Index: (UserIdSource,UserIdTarget) und > andersrum. > > Die Freunde Tabelle ist sehr klein, die Beitraege Tabelle ist riesig. > Es ist also richtig wenn Mysql erst die Freunde herausfindet und an > dieses Ergebnis die Beitraege joined... > > Leider wird der Index der Beitraege Tabelle nicht zum sortieren benutzt... > > Kann ich irgendwie den USING TEMPORARY, USING FILESORT wegbekommen? > > > grueße, Ilja > ____________ > Virus checked by G DATA AntiVirusKit > Version: AVK 17.3957 from 13.04.2007 > Virus news: www.antiviruslab.com > > > _______________________________________________ > Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ > Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From ks at codebiz.de Mon Apr 30 14:22:52 2007 From: ks at codebiz.de (Kai Szymanski) Date: Mon, 30 Apr 2007 14:22:52 +0200 Subject: Umlaute und SELECT LIKE Message-ID: <4635DF9C.3090102@codebiz.de> Hallo, ich habe eine kleine Tabelle angelegt: CREATE TABLE `segment` ( `idSegment` int(10) unsigned NOT NULL auto_increment, `Words` mediumtext, `Delete` tinyint(4) NOT NULL default '0', `Archived` tinyint(4) NOT NULL default '0', PRIMARY KEY (`idSegment`), KEY `Delete` (`Delete`,`Archived`), FULLTEXT KEY `Words` (`Words`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6901615 ; Ein Eintrag in der Tabelle lautet (für Words): "am Donnerstag hatte Putin damit gedroht den Vertrag über konventionelle Streitkräfte" Wenn ich nun ein SELECT starte mit SELECT * FROM `segment` WHERE Words LIKE '%RAF%' AND Words LIKE '%am Donnerstag hatte%' LIMIT 0 , 30 findet er den obigen Beitag (obwohl der garnicht die Buchstabenkombination 'RAF' enthält. Die Mysql-Version ist 5.0.32-Debian_7etch1. Danke! CU, Kai. _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From a.balke at digiden.de Mon Apr 30 15:28:34 2007 From: a.balke at digiden.de (andreas balke) Date: Mon, 30 Apr 2007 15:28:34 +0200 Subject: Umlaute und SELECT LIKE In-Reply-To: <4635DF9C.3090102@codebiz.de> References: <4635DF9C.3090102@codebiz.de> Message-ID: <4635EF02.6060105@digiden.de> hallo kai, probier mal ... LIKE BINARY... andi > SELECT * > FROM `segment` > WHERE Words LIKE '%RAF%' > AND Words LIKE '%am Donnerstag hatte%' > LIMIT 0 , 30 > > findet er den obigen Beitag (obwohl der garnicht die Buchstabenkombination 'RAF' enthält. Die Mysql-Version ist 5.0.32-Debian_7etch1. > > Danke! > > CU, > Kai. > > > _______________________________________________ > Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ > Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de > > -- Andreas Balke // Lead Developer Digiden GmbH ? Agentur für Kommunikationslösungen In der Backfabrik ? Saarbrückerstraße 37b ? D-10405 Berlin Fon: +49 (30) 446 749 425 ? Fax: +49 (30) 446 749 479 www.digiden.de -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : smime.p7s Dateityp : application/x-pkcs7-signature Dateigröße : 3236 bytes Beschreibung: S/MIME Cryptographic Signature URL : http://lists.mushaake.org/pipermail/mysql-de/attachments/20070430/214e61f1/attachment.bin -------------- nächster Teil -------------- _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de From ks at codebiz.de Mon Apr 30 22:31:46 2007 From: ks at codebiz.de (Kai Szymanski) Date: Mon, 30 Apr 2007 22:31:46 +0200 Subject: Umlaute und SELECT LIKE In-Reply-To: <4635EF02.6060105@digiden.de> References: <4635DF9C.3090102@codebiz.de> <4635EF02.6060105@digiden.de> Message-ID: <46365232.5010802@codebiz.de> Hallo Andreas! Habe ich gerade ausprobiert (sowohl mit 'räf' als auch mit 'raf') und ging. Vielen Dank für Deine Hilfe! CU, Kai. _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de