sql >> Databáze >  >> RDS >> Mysql

Jak se dotazovat na tuto tabulku MySQL nejvýkonnějším způsobem?

Budete muset provést úplný sken tabulky, takže toto je pravděpodobně nejlepší řešení:

select (case when id in (< your list >) then 'in' else 'out' end) as inlist,
       my_boolean_field, count(*)
from mytable t
group by (case when id in (< your list >) then 'in' else out' end),
         my_boolean_field;

Pokud je váš seznam v tabulce s indexem, můžete použít left join na to. MySQL však optimalizuje vyhledávání in s konstantními hodnotami (využívá binární vyhledávání). Takže toto bude pravděpodobně nejrychlejší metoda.




  1. IDENT_CURRENT vs @@IDENTITY vs SCOPE_IDENTITY v SQL Server:Jaký je rozdíl?

  2. Python MySQL - SELECTy fungují, ale ne DELETE?

  3. Rychlé tipy pro opravu a obnovu databáze SQL bez zálohování

  4. Aktualizace sloupce tak, aby obsahoval pozici řádku