sql >> Database >  >> RDS >> Mysql

MySQL:Ontvang de nieuwste items ouder dan xxx, Prestaties

U wilt een samengestelde index over (objectID, time) :

ALTER TABLE my_table ADD INDEX (objectID, time)

De reden hiervoor is dat MySQL dan de maximale time kan ophalen voor elke objectID rechtstreeks uit de indexboom; het kan dan ook dezelfde index gebruiken om opnieuw samen te voegen met de tabel om de maximaal groepsgewijs records met behulp van zoiets als uw tweede zoekopdracht (maar men moet deelnemen aan beide objectID en time —Ik gebruik graag een NATURAL JOIN in gevallen als deze):

SELECT *
FROM   my_table NATURAL JOIN (
  SELECT   objectID, MAX(time) time
  FROM     my_table
  WHERE    time <= 1353143351
  GROUP BY objectID
) t



  1. datetime2 vs smalldatetime in SQL Server:wat is het verschil?

  2. bepalen meest gebruikte reeks woorden php mysql

  3. Toon de sortering in MariaDB

  4. mysql in lijst valideert alleen de eerste id in de lijst. misschien een blob-probleem