zurück zur Startseite
  


Zurück XHTMLforum > Sonstiges > Offtopic
Seite neu laden SQL Abfrageoptimierung, Indizierung

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 09.01.2010, 10:40
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard SQL Abfrageoptimierung, Indizierung

Servus,

ich probiere gerade mal, größere Datenmengen zu bändigen. Die Datenbank zum
Testen baue ich gerade auf - wird wohl bis Montag durch sein (ca. 137 Mio Records,
11 Felder, kleine BLOBs).

Nach 3 Feldern (A,B,C) soll auch in Kombinationen gesucht werden können.

Es dürfte also Sinn machen, nach diesen Feldern zu indizieren.

Ist es für kombinierte Suchen (zB Felder A und B enthalten einen Suchbgeriff)
sinnvoll, einen Index A+B anzulegen (Oder für alle denkbaren Kombinationen) ?

Bisher verfahre ich bei meinem System so, daß ich den längsten Suchbegriff im
Index suche und dann auf die weiteren Angaben teste (das geht sehr schnell).

Wenn ich jetzt bei SQL eine Abfrage habe:

Zitat:
select * from DB where A='ABC' and B='ABCDEF'
und eine Indizierung einmal nach A+B und B+A, wäre dann SQL so schlau, den
passenden Index zu verwenden (steuern kann ich das ja nicht) ?
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 11.01.2010, 10:34
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard Au Backe ...

Die Datenbank war heute früh endlich neu aufgebaut. Ich habe nach meinem
Suchausdruck einen Index angelegt und mal einen Begriff gesucht.

Leider bricht anscheinend der Apache nach 20 min die Suche ab, das Programm
läuft nicht komplett durch - er findet aber 3 Fundstellen.

Datenbank: SQLite 3
Dateigröße: 11.820.967 Byte
Server: Apache 2.2, Intel 2,4 GHz
Records: 137.444.607

Das Ergebnis ist indiskutabel.

Mein Originalsystem findet 155 Fundstellen aus 137.444.607 Datensätzen,
Suchzeit 1.4060 sec.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 11.01.2010, 10:44
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Ich glaube SqlLite ist nicht für große Datenbanken gedacht, daher kann ich mir das schon gut vorstellen.

Hast Du das gleiche Mal mit z.B. MySql probiert?

Ich könnte mir vorstellen, dass es dort deutlich schneller geht.
Mit Zitat antworten
  #4 (permalink)  
Alt 11.01.2010, 10:53
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Vermutlich ist da mySQL etwas schneller. Ich denke mal, eher wegen einem
Cache als aufgrund "mySQL ist eh schneller". mySQL scheidet aber wegen dem
immensen Pflegeaufwand aus.

Ach ja: der SQLite Manager mag die Datenbank nicht und stürzt ab ...
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator

Geändert von Scheppertreiber (11.01.2010 um 10:56 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 11.01.2010, 11:22
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

So ganz ohne Informationen über die Tabellen kann dir wohl niemand weiterhelfen. Was sagt den Explain über deine Abfrage?
Mit Zitat antworten
  #6 (permalink)  
Alt 11.01.2010, 11:31
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Explain sagt das hier *kopfkratz*:

Zitat:
> name : PZN
> addr : 0
> opcode : Trace
> p1 : 0
> p2 : 0
> p3 : 0
> p4 : explain select * from PZN where PZN = '8780173' limit 100
> p5 : 00
> comment : ?
> addr : 1
> opcode : Integer
> p1 : 100
> p2 : 1
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 2
> opcode : MustBeInt
> p1 : 1
> p2 : 0
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 3
> opcode : IfZero
> p1 : 1
> p2 : 28
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 4
> opcode : String8
> p1 : 0
> p2 : 2
> p3 : 0
> p4 : 8780173
> p5 : 00
> comment : ?
> addr : 5
> opcode : Goto
> p1 : 0
> p2 : 29
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 6
> opcode : SetNumColumns
> p1 : 0
> p2 : 12
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 7
> opcode : OpenRead
> p1 : 0
> p2 : 2
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 8
> opcode : Rewind
> p1 : 0
> p2 : 27
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 9
> opcode : Column
> p1 : 0
> p2 : 1
> p3 : 3
> p4 :
> p5 : 00
> comment : ?
> addr : 10
> opcode : Ne
> p1 : 2
> p2 : 26
> p3 : 3
> p4 : collseq(BINARY)
> p5 : 6a
> comment : ?
> addr : 11
> opcode : Rowid
> p1 : 0
> p2 : 5
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 12
> opcode : Column
> p1 : 0
> p2 : 1
> p3 : 6
> p4 :
> p5 : 00
> comment : ?
> addr : 13
> opcode : Column
> p1 : 0
> p2 : 2
> p3 : 7
> p4 :
> p5 : 00
> comment : ?
> addr : 14
> opcode : Column
> p1 : 0
> p2 : 3
> p3 : 8
> p4 :
> p5 : 00
> comment : ?
> addr : 15
> opcode : Column
> p1 : 0
> p2 : 4
> p3 : 9
> p4 :
> p5 : 00
> comment : ?
> addr : 16
> opcode : Column
> p1 : 0
> p2 : 5
> p3 : 10
> p4 :
> p5 : 00
> comment : ?
> addr : 17
> opcode : Column
> p1 : 0
> p2 : 6
> p3 : 11
> p4 :
> p5 : 00
> comment : ?
> addr : 18
> opcode : Column
> p1 : 0
> p2 : 7
> p3 : 12
> p4 :
> p5 : 00
> comment : ?
> addr : 19
> opcode : Column
> p1 : 0
> p2 : 8
> p3 : 13
> p4 :
> p5 : 00
> comment : ?
> addr : 20
> opcode : Column
> p1 : 0
> p2 : 9
> p3 : 14
> p4 :
> p5 : 00
> comment : ?
> addr : 21
> opcode : Column
> p1 : 0
> p2 : 10
> p3 : 15
> p4 :
> p5 : 00
> comment : ?
> addr : 22
> opcode : Column
> p1 : 0
> p2 : 11
> p3 : 16
> p4 :
> p5 : 00
> comment : ?
> addr : 23
> opcode : ResultRow
> p1 : 5
> p2 : 12
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 24
> opcode : AddImm
> p1 : 1
> p2 : -1
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 25
> opcode : IfZero
> p1 : 1
> p2 : 27
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 26
> opcode : Next
> p1 : 0
> p2 : 9
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 27
> opcode : Close
> p1 : 0
> p2 : 0
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 28
> opcode : Halt
> p1 : 0
> p2 : 0
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 29
> opcode : Transaction
> p1 : 0
> p2 : 0
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 30
> opcode : VerifyCookie
> p1 : 0
> p2 : 1
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
> addr : 31
> opcode : TableLock
> p1 : 0
> p2 : 2
> p3 : 0
> p4 : PZN
> p5 : 00
> comment : ?
> addr : 32
> opcode : Goto
> p1 : 0
> p2 : 6
> p3 : 0
> p4 :
> p5 : 00
> comment : ?
Die Pfeile sind von mir ...
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #7 (permalink)  
Alt 11.01.2010, 11:47
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ich weiß es auch nicht, aber warum googlest du nicht mal?
Mit Zitat antworten
  #8 (permalink)  
Alt 11.01.2010, 14:10
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Ups. Ich habe gemerkt, er hat (vermutlich wegen der Laufzeit) den Index nicht angelegt.
Wenn das durch ich messe ich nochmal
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #9 (permalink)  
Alt 11.01.2010, 15:26
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

du hast mittlerweile rausgefunden wie man diese Ausgabe liest?
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 11.01.2010, 15:29
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.458
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
du hast mittlerweile rausgefunden wie man diese Ausgabe liest?


Muß gerade etwas anderes noch machen ...
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
Sponsored Links
Antwort


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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQL Abfrage gabischatz Serveradministration und serverseitige Scripte 4 23.04.2011 11:05
von MySQL WB genreriertes SQL erzeugt Fehler kampfgnom Serveradministration und serverseitige Scripte 2 16.11.2008 14:34
SQl Abfrage :S erxx Serveradministration und serverseitige Scripte 5 05.08.2008 18:35
SQL Export und Import - Probleme wolf1985 Serveradministration und serverseitige Scripte 6 18.05.2008 12:07
Ernsthafte Fragen zu MySQL und seiner Indizierung KartoffelKiffer Serveradministration und serverseitige Scripte 2 26.01.2008 00:36


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