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

kopírování do dočasné tabulky trvá dlouho

Dočasná tabulka nemusí být tou nejlepší volbou v závislosti na tom, čeho se snažíte dosáhnout... Může být užitečné vytvořit tabulku s určitou konsolidací dat, aby se zúžil rozsah několika dalších požadavků, ale zřídka je to efektivní.

K dočasným tabulkám také nelze přistupovat vícekrát, takže by byla potřeba skutečná tabulka.

Vytvoření tabulky vyžaduje zápisy na disk, což je mnohem méně efektivní než čistý výběr v paměti RAM. Pomocí metod ukládání do mezipaměti můžete velmi rychle získat výsledek předchozího výběru. Tento výběr byste mohli použít jako část FROM ve svých dotazech, aby to bylo rychlejší než sdružování v obrovské databázi. Ale i tak...

Vyvíjíme se na datové sadě cca 1To, velké dotazy jsou nálezové produkty podle práv uživatelů (kategorie, obchod,...) snažili jsme se pro každého uživatele vytvořit tabulku ukazující na produkty, ke kterým má práva a pak použijte tuto tabulku k načtení dat, aniž byste vyžadovali obrovské podmínky, ale při použití SSD to bylo stále pomalé. Takže jsme na server vypustili obrovskou RAM a SELECT, který bychom použili k vyplnění dočasných tabulek, se spustí pro každého uživatele při přihlášení a pak se použije jako FROM a vše je perfektní.




  1. Jak volat uloženou proceduru Oracle v Pythonu?

  2. SQL:Řízení počtu vrácených záznamů

  3. Rozdíly v týdnech mezi PHP a MySQL

  4. Nelze smazat tabulku mySQL. (Chyba 1050)