/ / MySQL index znamenia desatinnej - mysql

MySQL index znamenia desatinnej - mysql

Existuje účinný spôsob, ako index indexu stĺpca DECIMAL s MySQL (InnoDB)?

Otázka s touto podmienkou where amount > 0 (a naopak) a zaujímam sa, či je to fantazijný spôsob, ako to urobiť rýchlo. Rovnakým spôsobom, ako indexovanie prvého znaku reťazca môže urýchliť dopyt, napríklad select distinct left(some_string_column, 1).

odpovede:

1 pre odpoveď č. 1

Indexovanie desiatkového stĺpca pomôže MySQL vrátiť výsledok kde column > 0.

  CREATE INDEX signindex ON table(deccolumn);

Okrem toho, aby mohla MySQL efektívne používať indexy a vyhnúť sa používaniu funkcie where, môžete pridať nový stĺpec s predbežne vypočítanými údajmi a indexovať nový stĺpec

 ALTER TABLE table ADD leftchar char(1);
UPDATE table SET leftchar=left(some_string_column, 1);
CREATE INDEX charindex ON table(leftchar);
SELECT DISTINCT leftchar FROM table;