sql >> Databáze >  >> RDS >> Database

Jak zrychlit SQL dotazy

Je důležité urychlit dotazy SQL, abyste zajistili, že vaše weby a aplikace budou fungovat rychle a budou zákazníkům poskytovat dobré zkušenosti. Zde je několik tipů, jak urychlit databázové dotazy a zlepšit výkon dotazů.


Jak zrychlit dotazy SQL

Zde je několik klíčových způsobů, jak zlepšit rychlost a výkon dotazů SQL.


1. Místo SELECT *

použijte názvy sloupců

Při použití příkazů SELECT použijte ve výsledku pouze ty sloupce, které potřebujete, místo použití SELECT * from … To značně sníží velikost výsledku a zrychlí váš dotaz SQL.

Bonusové čtení:Jak zvýšit maximální počet připojení v MySQL

2. Vyhněte se vnořeným dotazům a zobrazením

Když vnoříte dotaz/pohled do jiného dotazu/zobrazení, výsledkem je návrat mnoha dat pro každý jednotlivý dotaz a váš dotaz se značně zpomalí. Někdy se může stát, že databázovému serveru dokonce vyprší časový limit a nevrátí nic.


3. Při dotazování na indexované sloupce

použijte predikát IN

Při dotazování na indexovaný sloupec použijte predikát IN-list namísto použití matematických operátorů, jako je „=“, nebo logických operátorů, jako je AND/OR. Predikát IN může urychlit vaše dotazy SQL, protože optimalizátor dotazů seřadí seznam IN tak, aby odpovídal třídicí posloupnosti INDEX, což vede k rychlejším výsledkům.

Bonusové čtení:Jak uložit znaky UTF8 v MySQL

4. Proveďte pre-staging

Pokud máte dotazy a procedury, které se spojují s velkými tabulkami, je vhodné vytvořit samostatnou tabulku s tímto výsledkem. Když připojíte tabulky předem, SQL dotazy, které používají jejich výsledek, pracují mnohem rychleji.


5. Použijte dočasné tabulky

Podobně, pokud spojujete velkou tabulku s malou, vytvořte dočasnou tabulku, která obsahuje pouze data potřebná pro spojení s menší tabulkou. Můžete to udělat tak, že vyberete data z velké tabulky, přenesete je do dočasné tabulky a spojíte malou tabulku s touto dočasnou tabulkou.

Bonusové čtení:PostgreSQL Materialized View

6. Místo UPDATE

použijte CASE

Příkaz UPDATE trvá déle než příkaz CASE kvůli protokolování. Na druhou stranu příkaz CASE určuje, co je třeba aktualizovat, a zrychluje vaše dotazy SQL.


7. Nepoužívejte GUID

Nepoužívejte globálně jedinečné identifikátory, protože mohou zpomalit vaše dotazy. Místo toho použijte DATE nebo IDENTITY.

Bonusové čtení:Jak změnit databázi na UTF8

8. Nepoužívejte OR v JOINS

JOINS jsou časově náročné, protože vaše databáze musí prozkoumat každý řádek a najít shodu. Pokud ve spojení JOIN použijete také podmínku OR, bude vaší databázi přiřazování záznamů trvat dvakrát déle. Jak již bylo zmíněno, použijte místo toho operátor IN.


Doufejme, že výše uvedené tipy vám pomohou urychlit dotazy SQL.

  1. Převést název měsíce na číslo měsíce v SQL Server (T-SQL)

  2. Jak najít ASCII kód ​​pro daný znak v MySQL

  3. (+) =operátor v Oracle SQL v klauzuli where

  4. Migrace dat mezi různými DBMS