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

randomizace velkého souboru dat

Můžete to vyřešit nějakou denormalizací:

  • Vytvořte sekundární tabulku, která obsahuje stejné pkeys a stavy jako vaše datová tabulka
  • Přidejte a vyplňte sloupec skupiny stavů, což bude druh podklíče, který si sami automaticky očíslujete (automatický přírůstek založený na 1 vzhledem k jednomu stavu)

Když nepotřebujete filtrovat, můžete vygenerovat rand #s na pkey, jak jste zmínili výše. Když potřebujete filtrovat, vygenerujte randy podle StatusPkeys konkrétního stavu, který vás zajímá.

Existuje několik způsobů, jak tuto tabulku sestavit. Můžete mít proceduru, kterou spustíte v intervalu, nebo ji můžete provést naživo. To by však znamenalo výkonnostní hit, protože výpočet StatusPkey by mohl být drahý.



  1. aktualizovat pomocí prohlášení o připojení mysql?

  2. Planetární vyrovnání

  3. Nastavit páry klíč/hodnota v kontextu relace na serveru SQL (sp_set_session_context)

  4. YEAR() Příklady – MySQL