Toon posts:

[mysql] indexeren

Pagina: 1
Acties:

Verwijderd

Topicstarter
geen echte programmeervraag (wederom ;)) maar wel een daaraan gerelateerde vraag. Een real time financieel systeem dat ik schrijf is gebaseerd op een mysql database. Om de queries wat sneller uit te voeren heb ik indices aangelegd op de tabellen. Nu worden er per seconde ongeveer twintig records toegevoegd per tabel.

Wat ik mij nu afvraag... wordt de index bijgewerkt als er een record toegevoegd wordt, of moet de index handmatig bijgewerkt worden :?. Als het niet automagisch bijgewerkt wordt, hoe kan ik dat dan wel regelen :?...

Nog een derde puntje, je hebt in mysql de commando's:
code:
1
2
show databases
show tables

Ik heb de handleiding van mysql nog eens doorgelezen, maar kon niets vinden over een commando dat de indices van een database laat zien. Iemand een idee over hoe dat wel kan :?.

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:07
De index wordt automatisch bijgewerkt bij inserts en updates. Vandaar dat indices ook vertragend werken bij het updaten of inserten van rows.

Je zult dus bij het ontwerpen van uw DB een middenweg moeten zoeken om uw indexen te leggen. Doe je meer inserts/updates dan is het misschien beter om wat minder indexen te leggen dan dat je meer select's uitvoert.

https://fgheysels.github.io/


Verwijderd

Nog een derde puntje, je hebt in mysql de commando's:
code:
1
2
show databases
show tables

Ik heb de handleiding van mysql nog eens doorgelezen, maar kon niets vinden over een commando dat de indices van een database laat zien. Iemand een idee over hoe dat wel kan :?.
show keys from tabel;

Bekijk ook het 'EXPLAIN' commando eens.

Verwijderd

Topicstarter
Op zaterdag 23 maart 2002 17:49 schreef whoami het volgende:
De index wordt automatisch bijgewerkt bij inserts en updates. Vandaar dat indices ook vertragend werken bij het updaten of inserten van rows.

Je zult dus bij het ontwerpen van uw DB een middenweg moeten zoeken om uw indexen te leggen. Doe je meer inserts/updates dan is het misschien beter om wat minder indexen te leggen dan dat je meer select's uitvoert.
Hmm, met een kleine benchmark vastgesteld dat het aanleggen van indices voor het systeem veel sneller werkt dan een iets vertraagde insert... Gelukkig draait de database op een verder onbelaste server (d.w.z., het hele IS draait op 1 machine), dus veel hinder zal ik niet ondervinden bij het inserten... :)