Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Dapatkan entri terbaru yang lebih lama dari xxx, Performa

Anda ingin indeks komposit di atas (objectID, time) :

ALTER TABLE my_table ADD INDEX (objectID, time)

Alasan untuk ini adalah MySQL kemudian dapat mengambil time maksimum untuk setiap objectID langsung dari pohon indeks; kemudian juga dapat menggunakan indeks yang sama dalam bergabung melawan tabel lagi untuk menemukan maksimum berdasarkan grup catatan menggunakan sesuatu seperti kueri kedua Anda (tetapi seseorang harus bergabung di kedua objectID dan time —Saya suka menggunakan NATURAL JOIN dalam kasus seperti ini):

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan data yang disandikan json ke mysql

  2. Apa yang harus diindeks untuk meningkatkan kinerja?

  3. bagaimana menghubungkan Tomcat 7 dan mysql

  4. Bergabung dengan 2 tabel dengan id kunci asing

  5. MySQL Math dan COUNT(*) dalam LIMIT