SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.03.2009, 20:55:07
Alea Alea ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 69
Beiträge: 2
Tabellen als Zwischenspeicher

Hallo,

mir geht es hier nicht um die Lösung eines Problems, sondern um die vorteilhafte Nutzung der internen MySql-Programmstruktur, von der ich leider keine Ahnung habe.

Ich verwende häufig Tabellen als Zwischenspeicher für die Ergebnisse von SELECT-Anweisungen (auch wenn Tabellen-Joins vielleicht hier und da eleganter sind).

Temporäre Tabellen verwende ich nicht, da ich die Zwischenergebnisse gelegentlich auch für Kontrollzwecke benötige.
Für die Erstellung der Zwischentabellen (mit gleichbleibenden Spaltenköpfen) gibt es nun zwei Möglichkeiten:

[a]
DROP TABLE IF EXISTS tabelle;
CREATE TABLE tabelle SELECT ...;

[b]
TRUNCATE TABLE tabelle;
INSERT INTO tabelle SELECT ...;

Bei [b] wird die vorhandene Tabelle ständig geschrumpft und erweitert. Ich kann mir denken, dass dabei "Speicherlöcher" entstehen. Trotzdem verwende ich bisher problemlos diese Methode, weil dann die Spalten schon die von mir gewünschten Datentypen haben. (Das ließe sich aber auch bei [a] durch vorgeschaltete CREATE TABLE Anweisungen erreichen.)

Ich überarbeite gerade meine Datenbank, deshalb die Frage:
Welche Methode ist aus Sicht der internen MySQL-Daten- und -Programmstruktur die optimalere, oder ist das vollkommen egal?
Mit Zitat antworten
  #2  
Alt 10.03.2009, 23:46:15
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Tabellen als Zwischenspeicher

möchte den datenbank-profies hier nicht vorweg greifen, aber: effizient sind ganz sicher beide methoden nicht.

Zitat:
Zitat von Alea Beitrag anzeigen
auch wenn Tabellen-Joins vielleicht hier und da eleganter sind
ich würde das nicht unter dem aspekt der eleganz oder als nice-to-have betrachten. joins sind ein werkzeug wie jedes andere und sollten entsprechend benutzt werden.

Zitat:
Zitat von Alea Beitrag anzeigen
Temporäre Tabellen verwende ich nicht, da ich die Zwischenergebnisse gelegentlich auch für Kontrollzwecke benötige.
solange der sql-server nicht abrauscht, bleiben temporäre tabellen da, wo sie sind. für die laufzeit eines skriptes sollte das ausreichen.

Zitat:
Zitat von Alea Beitrag anzeigen
Ich kann mir denken, dass dabei "Speicherlöcher" entstehen.
die tabelle wird fragmentieren und die performance bei entsprechender tabellengrösse abnehmen.

Zitat:
Zitat von Alea Beitrag anzeigen
Welche Methode ist aus Sicht der internen MySQL-Daten- und -Programmstruktur die optimalere oder ist das vollkommen egal?
keine von beiden - so gesehen ist es dann doch wieder egal .-

cx
Mit Zitat antworten
  #3  
Alt 11.03.2009, 12:43:02
Alea Alea ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 69
Beiträge: 2
AW: Tabellen als Zwischenspeicher

Hallo cortex,

besten Dank für die Antwort. Ich habe mir schon gedacht, dass es in diese Richtung hinausläuft. Dann muss ich mich wohl doch mit komplexeren Joins und der Lebensdauer temporärer Tabellen genauer befassen, auch wenn sich dabei Frustration wohl nicht vermeiden läst.
Mit Zitat antworten
  #4  
Alt 11.03.2009, 13:16:17
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Tabellen als Zwischenspeicher

hallo alea,

so schlimm sind joins nicht... guter grundlagen-artikel: http://aktuell.de.selfhtml.org/artik...oins/index.htm

fortgeschrittene techniken: http://aktuell.de.selfhtml.org/artik...tm#einfuehrung

und wenn's gar nicht mehr weitergeht... (hier) nachfragen .-

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Inhalte aus UTF-8 Tabellen in ISO-Tabellen übertragen Alwin20 MySQLi/PDO/(MySQL) 0 09.07.2008 13:23:02
2 Tabellen vermischen thorben MySQLi/PDO/(MySQL) 9 10.10.2007 00:06:24
2 Tabellen zusammenfassen. Problem! basti123456 MySQLi/PDO/(MySQL) 4 03.02.2006 09:01:08
Tabellen innerhalb von Zelle andreaskf HTML, CSS und JavaScript Help! 5 29.04.2005 18:20:44
Db abfragen von 2 tabellen GrafvonHenneber PHP Grundlagen 6 22.01.2003 16:37:48


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt