Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
primary_key..sortieren oder nicht...das ist hier die Frage [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
primary_key..sortieren oder nicht...das ist hier die Frage


 
Berni
13-01-2001, 02:54 
 
Hey..
ich schreibe gerade ein php-Skript für ein webbasiertes Adressbuch. Und zwar trägt der User seine Daten ein und diese werden in einer MySQL Datenbank gespeichert. Sinnvoll da das Skript auch über eine Suchfunktion verfügen soll.
Da ich bereits seit kurzer eine Datenbankvorlesung höre, weiß ich, daß ich mehrere Tabellen brauche, wenn ich zu einem Namen z.B mehrere Telefonnummer zulassen will.

Also wird jeder User durch einen Primärschlüssel identifiziert. In der Haupttabelle ist dieser Schlüsssel (Name : ID) unique. In den anderen Teiltabellen nicht

Jetzt zu meiner Frage. Ich habe zwar haufenweise Theorie wissen und kann ganz tolle Relationen und ER-Diagramme zeichnen, aber an der Praxis hapert es. Halt nur blöde Uni-Theorie.

Sortierung :
Wann soll die Sortierung der Einträge stattfinden ?

1. Erst bei der Ausgabe.
2. Bei jedem Eintrag.

Wenn 2, soll ich dann
1. die ID unsortiert lassen oder
2. die IDs neu zu ordnen, so daß der erste Eintrag die ID 0 hat, der zweite 1 usw..

MFG

KinNeko

PS:: Hoffe war nicht zu kompliziert und komplex. Wenn ihr Fragen habt, hackt einfach nach. Bin öfter hier.

 
h0meal0ne@mymail.ph
16-01-2001, 13:08 
 
1) Ich vermute, daß deine ID ein auto_increment hat ... wenn nicht: nachtragen
dann wird das mit dem erster Eintrag=0, zweiter Eintrag=1 etc. pp. automatisch erledigt, einfach beim insert keine ID mehr angeben.
2) wenn du unbedingt nach der ID sortieren willst, dann mach das per ' order by ID asc' beim select.

-=* Titus *=-
| php pro |
|nerd for life|
"""""""""""""""

the PHP resource (http://www.php-resource.de/moderatoren.php3)

 
Berni
16-01-2001, 21:53 
 
Danke..

aber sortieren will ich nicht die ID sondern die Namen nach Alphabet. Soll ich dies bei der ausgabe tun oder per oder by in der datenbank.

welche der beiden optionen ist schneller ? erkennt SQL sofort das die Datenbank sortiert ist und wendet andere Suchalgorithmen als normal an ? Viele Algos haben nämlich ihren worst case bei geordneter Eingabe.

 
Berni
17-01-2001, 00:45 
 
Ich glaube nicht das MySQl in der Lage ist, Einträge (index) nach jedem Insert neu zu erstellen. Soweit ich weis kann das nur MS-SQL ab der Version 7. (gescheit auch nicht gleich)

Die Ausgabe der Daten sollte in jedem Fall mit "order by" gemacht werden.
Ich hatte selber hatte eine DB mit ca. 1 Mil Einträge (pro tabelle). Eine Ausgabe der Daten mit "Order by" war da kein problem (MS SQL 7)und lief sehr performant

Gruß
Duke

 
Berni
17-01-2001, 13:36 
 
Danke..

dann hoffen wir das die Programmierer von My-SQL genauso gut waren.

MFG


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