PDA

Bekijk Volledige Versie : is dit het snelst (rij gegevens zoeken bij een max id (mysql)



matthijsdezwart@gmail.com
26/05/08, 14:05
Hoi,

ik vraag me af of dit de snelste manier is om de gegevens van een rij
oip te zoeken die behoren bij een max ID waarde.

select waarde from database.tabel where id = (select max(id) from
database.tabel where naam = 'een naam' and tijd <= een tijd)


of kan dit efficienter? Primairy key is ID. (als ik een index maak van
de kolom naam of tijd, wordt het geheel langzamer).
mazzel,

Matthijs

MaMo
26/05/08, 17:45
<matthijsdezwart@gmail.com> wrote in message
news:6fee5cbd-eeae-4820-a7c8-3bce499cd5ca@m3g2000hsc.googlegroups.com...
> Hoi,
>
> ik vraag me af of dit de snelste manier is om de gegevens van een rij
> oip te zoeken die behoren bij een max ID waarde.
>
> select waarde from database.tabel where id = (select max(id) from
> database.tabel where naam = 'een naam' and tijd <= een tijd)
>
>
> of kan dit efficienter? Primairy key is ID. (als ik een index maak van
> de kolom naam of tijd, wordt het geheel langzamer).
> mazzel,
>
> Matthijs

Je kunt ook doen:

SELECT TOP 1 waarde FROM database.tabel ORDER BY id DESC .... maar volgens
mij werkt dat wel in MS SQL Server maar weer niet in MySQL als ik het goed
heb....

MaMo

Maarten Wierda
26/05/08, 18:15
matthijsdezwart@gmail.com wrote:

> Hoi,

Hoi,

> ik vraag me af of dit de snelste manier is om de gegevens
> van een rij oip te zoeken die behoren bij een max ID
> waarde.
>
> select waarde from database.tabel where id = (select
> max(id) from database.tabel where naam = 'een naam' and
> tijd <= een tijd)

Vraagje voor mijn beeldvorming - en wellicht ook voor de
jouwe: ben je op zoek naar de rij met de hoogste waarde als
primary key, of naar het record wat het laatst is toegevoegd?

Even googlen op 'select max id' levert ergens de volgende
tip op:

select
id
from
table
order by
id
desc
limit 1

Functies als COUNT, MIN en MAX vereisen een scan van de
volledige tabel, en werken daarom - zeker bij grotere
tabellen - aanzienlijk langzamer.

--
Groet,
Maarten Wierda

matthijsdezwart@gmail.com
27/05/08, 10:05
> Even googlen op 'select max id' levert ergens de volgende
> tip op:
>
> select
> id
> from
> table
> order by
> id
> desc
> limit 1
>
> Functies als COUNT, MIN en MAX vereisen een scan van de
> volledige tabel, en werken daarom - zeker bij grotere
> tabellen - aanzienlijk langzamer.


ok, bedankt!
mazzel,

Matthijs