Zoeken in redelijk uitgebreide database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Remco

remco

02/02/2009 20:22:00
Quote Anchor link
Hallo,

Ik heb jullie hulp/tips nodig.
Ik heb een fansite van Heerenveen en in de database komen steeds meer records te staan. Nu wil ik eigenlijk een zoeksysteem op mijn site implanteren maar ik heb werkelijk geen idee hoe ik moet beginnen. Of eigenlijk heb ik wel een idee maar dat is een heel erg omslachtig idee om elke tabel apart te doorzoeken. Dit zal echter behoorlijk wat tijd kosten ben ik bang.
Heb ook al diverse tutorials doorgekeken maar het probleem is dat ik het type innoDB gebruik omdat ik gebruik van koppel tabellen en tabellen die onderling met elkaar verbonden zijn. In de tutorials werd wel uitgelegd hoe je kon zoeken maar steeds was het niet toegestaan innoDB te gebruiken.
Weten jullie hoe ik dit het best kan aanpakken waardoor de laadtijd zo klein mogelijk blijft.
Nu valt het qua records nog wel enigszins mee maar over een paar jaar zitten er enkele 10.000 records in de database en zal het aardig wat tijd gaan kosten ben ik bang om alles te doorzoeken

Alvast bedankt,
Remco
 
PHP hulp

PHP hulp

25/12/2024 06:06:39
 
Jesper Diovo

Jesper Diovo

02/02/2009 20:28:00
Quote Anchor link
Eén query maken met JOINs? SQL Joins. Zit vast wel wat leuks tussen ;-).
 
Citroen Anoniem Graag

Citroen Anoniem Graag

02/02/2009 21:07:00
Quote Anchor link
10.000 veel? Dit is een fractie van wat een database aan kan, een database kan in miljarden records nog prima zijn weg vinden (mits goede indexen ed!).

Dus geef je tabellen overzicht eens?
 
Remco

remco

02/02/2009 21:16:00
Quote Anchor link
Dit is mijn SQL output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
--
-- Tabel structuur voor tabel 'beoordeling'
--

CREATE TABLE beoordeling (
  id int(9) NOT NULL auto_increment,
  opstelling_id int(8) NOT NULL,
  wedstr_id int(7) NOT NULL,
  beoordeling int(2) NOT NULL,
  crew_id int(5) NOT NULL,
  PRIMARY KEY  (id),
  KEY crew (crew_id),
  KEY opstelling_id (opstelling_id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'clubs'
--

CREATE TABLE clubs (
  id int(3) NOT NULL auto_increment,
  naam varchar(100) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'crew'
--

CREATE TABLE crew (
  id int(3) NOT NULL auto_increment,
  naam varchar(100) NOT NULL,
  gebruikersnaam varchar(50) NOT NULL,
  wachtwoord varchar(100) NOT NULL,
  ip varchar(20) NOT NULL,
  soortstatus int(2) NOT NULL,
  email varchar(70) NOT NULL,
  activatie varchar(9) NOT NULL,
  avater varchar(100) NOT NULL,
  show_naam int(1) NOT NULL default '0',
  show_mail int(1) NOT NULL default '0',
  website varchar(70) NOT NULL,
  gdatum date NOT NULL,
  woonplaats varchar(70) NOT NULL,
  ban int(1) NOT NULL,
  waarschuwingen int(1) NOT NULL,
  PRIMARY KEY  (id),
  KEY soortstatus (soortstatus)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'crewstatus'
--

CREATE TABLE crewstatus (
  id int(2) NOT NULL auto_increment,
  soort varchar(20) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'downloads'
--

CREATE TABLE downloads (
  id int(9) NOT NULL auto_increment,
  naam varchar(50) NOT NULL,
  url varchar(50) NOT NULL,
  soort_id int(2) NOT NULL,
  crew_id int(2) NOT NULL,
  hits bigint(13) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'filmpjes'
--

CREATE TABLE filmpjes (
  id int(6) NOT NULL auto_increment,
  wedstr_id int(5) NOT NULL,
  url varchar(15) NOT NULL,
  titel varchar(40) NOT NULL,
  beschrijving varchar(250) NOT NULL,
  crewid int(3) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'fotos'
--

CREATE TABLE fotos (
  id int(5) NOT NULL auto_increment,
  wedstr_id int(5) NOT NULL,
  verslag text NOT NULL,
  crewid int(5) NOT NULL,
  datum datetime NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'interview'
--

CREATE TABLE interview (
  id int(4) NOT NULL auto_increment,
  naam varchar(50) NOT NULL,
  interview longtext NOT NULL,
  datum datetime NOT NULL,
  crew_id int(3) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'links'
--

CREATE TABLE links (
  id int(5) NOT NULL auto_increment,
  url varchar(100) NOT NULL,
  beschrijving varchar(100) NOT NULL,
  hits int(6) NOT NULL,
  soort_id int(2) NOT NULL,
  crew_id int(2) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'nationaliteit'
--

CREATE TABLE nationaliteit (
  id int(3) NOT NULL auto_increment,
  nationaliteit varchar(50) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'nieuws'
--

CREATE TABLE nieuws (
  id int(11) NOT NULL auto_increment,
  titel varchar(100) NOT NULL,
  bericht longtext NOT NULL,
  datum datetime NOT NULL,
  reacties int(4) NOT NULL,
  crew_id int(3) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'opstelling'
--

CREATE TABLE opstelling (
  id int(9) NOT NULL auto_increment,
  wedstr_id int(9) NOT NULL,
  speler_id int(4) NOT NULL,
  PRIMARY KEY  (id),
  KEY wedstr_id (wedstr_id),
  KEY speler (speler_id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'pollantwoorden'
--

CREATE TABLE pollantwoorden (
  id int(9) NOT NULL auto_increment,
  pollid int(7) NOT NULL,
  antwoord varchar(100) NOT NULL,
  stemmen int(9) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'pollstemmen'
--

CREATE TABLE pollstemmen (
  id int(9) NOT NULL auto_increment,
  ant_id int(9) NOT NULL,
  crew_id int(5) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'pollvragen'
--

CREATE TABLE pollvragen (
  id int(7) NOT NULL auto_increment,
  vraag varchar(100) NOT NULL,
  datum datetime NOT NULL,
  stemmen int(9) NOT NULL,
  crew_id int(3) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'positie'
--

CREATE TABLE positie (
  id int(3) NOT NULL auto_increment,
  positie varchar(20) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'reacties'
--

CREATE TABLE reacties (
  id int(11) NOT NULL auto_increment,
  nieuws_id int(11) NOT NULL,
  naam int(8) NOT NULL,
  reactie longtext NOT NULL,
  datum datetime NOT NULL,
  ip varchar(20) NOT NULL,
  zichtbaar int(1) NOT NULL,
  PRIMARY KEY  (id),
  KEY naam (naam)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'seizoen'
--

CREATE TABLE seizoen (
  id int(3) NOT NULL auto_increment,
  jaar varchar(9) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'selectie'
--

CREATE TABLE selectie (
  id int(9) NOT NULL auto_increment,
  speler_id int(6) NOT NULL,
  seizoen_id int(6) NOT NULL,
  PRIMARY KEY  (id),
  KEY speler_id (speler_id),
  KEY seizoen_id (seizoen_id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'songs'
--

CREATE TABLE songs (
  id int(5) NOT NULL auto_increment,
  titel varchar(50) NOT NULL,
  song text NOT NULL,
  url varchar(80) NOT NULL,
  crew_id int(2) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'soort_down'
--

CREATE TABLE soort_down (
  id int(4) NOT NULL auto_increment,
  naam varchar(50) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'soort_link'
--

CREATE TABLE soort_link (
  id int(2) NOT NULL auto_increment,
  soort varchar(60) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'soort_wedstr'
--

CREATE TABLE soort_wedstr (
  id int(2) NOT NULL auto_increment,
  soort varchar(60) NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'spelers'
--

CREATE TABLE spelers (
  id int(6) NOT NULL auto_increment,
  naam varchar(70) NOT NULL,
  rugnr int(3) NOT NULL,
  foto varchar(60) NOT NULL,
  geb_datum date NOT NULL,
  geb_plaats varchar(70) NOT NULL,
  natio_id int(3) NOT NULL,
  positie_id int(3) NOT NULL,
  PRIMARY KEY  (id),
  KEY natio_id (natio_id,positie_id),
  KEY positie_id (positie_id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'voorspelling'
--

CREATE TABLE voorspelling (
  id int(9) NOT NULL auto_increment,
  wedstr_id int(5) NOT NULL,
  uitslag varchar(5) NOT NULL,
  crew_id int(4) NOT NULL,
  PRIMARY KEY  (id),
  KEY wedstr_id (wedstr_id),
  KEY crew (crew_id)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Tabel structuur voor tabel 'wedstrijden'
--

CREATE TABLE wedstrijden (
  id int(9) NOT NULL auto_increment,
  thuis_id int(3) NOT NULL,
  uit_id int(3) NOT NULL,
  uitslag varchar(5) NOT NULL,
  datum datetime NOT NULL,
  seizoen_id int(3) NOT NULL,
  voorbeschouwing int(5) default NULL,
  verslag int(5) default NULL,
  soort int(3) NOT NULL,
  PRIMARY KEY  (id),
  KEY thuis_id (thuis_id),
  KEY uit_id (uit_id),
  KEY seizoen_id (seizoen_id),
  KEY voorbeschouwing (voorbeschouwing),
  KEY verslag (verslag),
  KEY soort (soort)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

--
-- Beperkingen voor gedumpte tabellen
--

--
-- Beperkingen voor tabel `beoordeling`
--
ALTER TABLE `beoordeling`
  ADD CONSTRAINT beoordeling_ibfk_1 FOREIGN KEY (opstelling_id) REFERENCES opstelling (id) ON DELETE CASCADE,
  ADD CONSTRAINT beoordeling_ibfk_2 FOREIGN KEY (crew_id) REFERENCES crew (id) ON DELETE CASCADE;

--
-- Beperkingen voor tabel `crew`
--
ALTER TABLE `crew`
  ADD CONSTRAINT crew_ibfk_1 FOREIGN KEY (soortstatus) REFERENCES crewstatus (id);

--
-- Beperkingen voor tabel `opstelling`
--
ALTER TABLE `opstelling`
  ADD CONSTRAINT opstelling_ibfk_2 FOREIGN KEY (speler_id) REFERENCES spelers (id) ON DELETE CASCADE,
  ADD CONSTRAINT opstelling_ibfk_1 FOREIGN KEY (wedstr_id) REFERENCES wedstrijden (id) ON DELETE CASCADE;

--
-- Beperkingen voor tabel `reacties`
--
ALTER TABLE `reacties`
  ADD CONSTRAINT reacties_ibfk_1 FOREIGN KEY (naam) REFERENCES crew (id);

--
-- Beperkingen voor tabel `selectie`
--
ALTER TABLE `selectie`
  ADD CONSTRAINT selectie_ibfk_3 FOREIGN KEY (speler_id) REFERENCES spelers (id),
  ADD CONSTRAINT selectie_ibfk_4 FOREIGN KEY (seizoen_id) REFERENCES seizoen (id);

--
-- Beperkingen voor tabel `spelers`
--
ALTER TABLE `spelers`
  ADD CONSTRAINT spelers_ibfk_3 FOREIGN KEY (natio_id) REFERENCES nationaliteit (id),
  ADD CONSTRAINT spelers_ibfk_4 FOREIGN KEY (positie_id) REFERENCES positie (id);

--
-- Beperkingen voor tabel `voorspelling`
--
ALTER TABLE `voorspelling`
  ADD CONSTRAINT voorspelling_ibfk_2 FOREIGN KEY (crew_id) REFERENCES crew (id) ON DELETE CASCADE,
  ADD CONSTRAINT voorspelling_ibfk_1 FOREIGN KEY (wedstr_id) REFERENCES wedstrijden (id) ON DELETE CASCADE;

--
-- Beperkingen voor tabel `wedstrijden`
--
ALTER TABLE `wedstrijden`
  ADD CONSTRAINT wedstrijden_ibfk_5 FOREIGN KEY (thuis_id) REFERENCES clubs (id),
  ADD CONSTRAINT wedstrijden_ibfk_6 FOREIGN KEY (uit_id) REFERENCES clubs (id),
  ADD CONSTRAINT wedstrijden_ibfk_7 FOREIGN KEY (seizoen_id) REFERENCES seizoen (id),
  ADD CONSTRAINT wedstrijden_ibfk_8 FOREIGN KEY (soort) REFERENCES soort_wedstr (id);


Om alle tabellen uit te schrijven kost wat veel werk en ik heb er niet een mooie tool voor (weet ook niet of dat überhaupt bestaat)
En 10.000 is inderdaad niet heel veel maar denk als je alles moet doorzoeken dat het wel wat tijd kost. En ja de records nemen natuurlijk behoorlijk toe met de tijd. Het moet allemaal ook nog werken over 10, 15 of 20 jaar
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.