sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Bland et begrænset forespørgselsresultat?

Du kan bruge rand() , men præstationen er forfærdelig

select * from users order by rand() limit 5; <-- slow

Jeg vil foreslå, at gemme listen over alle bruger-id'er i et serialiseringsarray og cache i en disk-fil. (opdater periodisk)

Så du kan afserialisere det tilbage ved hjælp af PHP og bruge PHP array_rand for at vælge 5 tilfældige brugere.

For at hente den fulde information kan du gøre

select * from users where user_id in(...); <-- very fast


  1. geometri genkendes ikke som parameter til Find_SRID

  2. Kan jeg bruge VBA til at videregive en adgangskode til en ekstern databaseforbindelse i Excel?

  3. INNODB kaskade ved sletning og opdatering

  4. Er det muligt at forespørge i en database ved hjælp af en værdi, der sendes i en URL, og skrive resultatet af forespørgslen til URL'en ved hjælp af mod_rewrite?