Beste luitjes,
ik heb geprobeerd mijn database en query zo snel mogelijk te maken, maar mijn kennis houd hier op.
Zouden jullie mij willen helpen/adviseren om alles te optimaliseren.
Bvd
Ik heb drie tabellen:
en dit is mijn query:
Nou weet dat ik indexes moet gebruiken om het sneller te maken, maar ik kom er niet helemaal uit waar ik die nou moet plaatsen?
Kan ik die indexes ook nog aan mijn tabellen toevoegen als die al gevuld zijn, of moet ik die opnieuw vullen?
Alle andere verbeteringen zijn natuurlijk van harte welkom.
Extra info:
TABLE keywords - 61306 records.
TABLE pagekeywords - 517958.
TABLE pages - 2867.
PHP versie 4.06.
MySQL 3.23.32.
OS Linux raq4.
ik heb geprobeerd mijn database en query zo snel mogelijk te maken, maar mijn kennis houd hier op.
Zouden jullie mij willen helpen/adviseren om alles te optimaliseren.
Bvd
Ik heb drie tabellen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| TABLE keywords ( Id int(10) unsigned NOT NULL auto_increment, Word varchar(255) NOT NULL, PRIMARY KEY (Id), UNIQUE Word (Word) ); TABLE pagekeywords ( PageId int(10) unsigned DEFAULT '0' NOT NULL, WordId int(10) unsigned DEFAULT '0' NOT NULL ); TABLE pages ( Id int(10) unsigned NOT NULL auto_increment, URL varchar(255) NOT NULL, Title varchar(255) NOT NULL, Datum int(20) DEFAULT '0' NOT NULL, PRIMARY KEY (Id), UNIQUE Id (Id), UNIQUE URL (URL) ); |
en dit is mijn query:
code:
1
2
3
4
5
| $query = "SELECT pages.Id AS id FROM keywords, pagekeywords, pages WHERE keywords.Word LIKE '%$keyword%' AND pagekeywords.WordId=keywords.Id AND pages.Id=pagekeywords.PageId"; |
Nou weet dat ik indexes moet gebruiken om het sneller te maken, maar ik kom er niet helemaal uit waar ik die nou moet plaatsen?
Kan ik die indexes ook nog aan mijn tabellen toevoegen als die al gevuld zijn, of moet ik die opnieuw vullen?
Alle andere verbeteringen zijn natuurlijk van harte welkom.
Extra info:
TABLE keywords - 61306 records.
TABLE pagekeywords - 517958.
TABLE pages - 2867.
PHP versie 4.06.
MySQL 3.23.32.
OS Linux raq4.