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..
Zum Aufbau meiner Tabellen:
und hier die SQLite Verknüpfung:
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...
Zum Aufbau meiner Tabellen:
Code:
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:
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
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...