Hallo, ich hoffe mir kann hier einer nen Tipp geben wie ich mein Suche schneller machen kann... im Mom. dauert es auf dem iPhone knapp ne Minute bis die Anfrage ein Ergebnis liefert und das ist eindeutig zu lange..
Ich habe ne Tabelle mit ca. 1000 Bildern... die zu verschiedenen Kategorien passen können im Programm wähle ich genau 4 Kategorien aus und dann sollen mir die dazu passenden Bilder angezeigt werden (UND verknüpft). Beispiel... Bild 1 = modern UND neu UND grün UND cool ....
Zum Aufbau meiner Tabellen:
Code:
und hier die SQLite Verknüpfung:
Code:
ich verknüpfe nur integer bzw smallint werte und durchsuche auch nur nach solchen... am ende gibts zwar noch einen String vergleich aber der ist nicht sonderlich groß (zeitintentiv) denke ich...
vlt. kann mir auch einer nen besseres Tabellenlayout oder nen optimierten selectbefehl sagen ... ich glaube dass die ganzen subselects auf dem iphone sehr langsam sind...
Ich habe ne Tabelle mit ca. 1000 Bildern... die zu verschiedenen Kategorien passen können im Programm wähle ich genau 4 Kategorien aus und dann sollen mir die dazu passenden Bilder angezeigt werden (UND verknüpft). Beispiel... Bild 1 = modern UND neu UND grün UND cool ....
Zum Aufbau meiner Tabellen:
Code:
SQL:
CREATE TABLE age ( picid SMALLINT NOT NULL DEFAULT "0", catid SMALLINT NOT NULL );
CREATE TABLE categories ( name TEXT NOT NULL, droplist TINYINT NOT NULL );
CREATE TABLE gender ( picid SMALLINT NOT NULL, catid SMALLINT NOT NULL DEFAULT "0" );
CREATE TABLE pictures ( filename TEXT NOT NULL, picid SMALLINT NOT NULL DEFAULT "0", kind SMALLINT NOT NULL DEFAULT "0" );
CREATE TABLE products ( picid SMALLINT NOT NULL, catid SMALLINT NOT NULL DEFAULT "0" );
CREATE TABLE style ( picid SMALLINT NOT NULL, catid SMALLINT NOT NULL DEFAULT "0" );
und hier die SQLite Verknüpfung:
Code:
SQL:
SELECT pictures . filename
FROM pictures , (
SELECT tab3 . picid
FROM (
SELECT tab2 . picid
FROM (
SELECT tab1 . picid
FROM (
SELECT gender . picid
FROM gender , categories
WHERE categories . oid = gender . catid AND gender . catid = 24 ) AS tab1 , products
WHERE tab1 . picid = products . picid AND catid = 5 ) AS tab2 , age
WHERE tab2 . picid = age . picid AND catid = 28 ) AS tab3 , style
WHERE tab3 . picid = style . picid AND catid = 34 ) AS endtab
WHERE endtab . picid = pictures . picid
vlt. kann mir auch einer nen besseres Tabellenlayout oder nen optimierten selectbefehl sagen ... ich glaube dass die ganzen subselects auf dem iphone sehr langsam sind...
Zuletzt bearbeitet: