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

5 velmi častých chyb návrhu SQL dotazů, kterým se za každou cenu vyhnout

Chcete-li úspěšně provozovat databáze SQL Server, musíte mít zájem o návrh dotazů. Bohužel většina lidí nemyslí na proces návrhu. V důsledku toho dělají jednoduché chyby, kterým se lze snadno vyhnout, ale mají dalekosáhlé důsledky.

Pro začátek, se špatně napsanými dotazy nemůžete uživatelům zaručit bleskurychlé časy načítání. I vaše servery budou od prvního dne sužovat problémy. A v dnešním digitálním světě jsou to chyby, které si nemůžete dovolit. Jak se ale těmto chybám vyhnout? Zde jsou tipy, jak na to.

1. Neúspěšná kontrola datového modelu

Váš datový model určuje, jak uživatelé přistupují k datům. Takže si svůj model promyslete hned od začátku. Pokud tak neučiníte, budete se muset vypořádat s nemotornými dotazy a komplikovaným kódem, což má negativní dopad na výkon. Snadný způsob, jak zjistit, které dotazy jsou potřebné pro přístup k datům, je vytisknout si svůj datový model.

Nebo, ještě lépe, nechte nástroj pro datové modelování, aby to udělal za vás. Nástroj pro tisk nebo modelování vám umožní vidět, proti čemu stojíte. Jste tedy v lepší pozici pro zjednodušení kódu, prodloužení doby kódování, zvýšení přesnosti a zlepšení výkonu.

2. Neschopnost zohlednit vaši techniku

Jakou techniku ​​používáš? Je to logika kurzoru nebo logika založená na množinách? Na tuto konkrétní otázku neexistuje snadná odpověď:vše závisí na výkonu, který nejlépe vyhovuje vašim potřebám. Vezměte si například logiku založenou na množinách. Je to jasná volba pro přístup k databázi. Koneckonců, SQL Server je pro to určen. Kurzorová logika však může v některých případech překonat založenou logiku. Klíčem je nepoužívat jednu techniku, když druhá by byla lepší.

3. Nepoužívat staré techniky kódování

Když používáte osvědčené kódovací techniky, málokdy se dostanete do problémů. Dokonce i metody kódování, které jste se naučili na serveru SQL Server 2005, se dnes mohou ukázat jako užitečné. Zkuste ve svém kódování použít techniku ​​zpracování chyb TRY…CATCH. Výsledky vás možná překvapí. Použití Common Table Expressions pro hierarchie nebo databázový stroj Common Language Runtime (CLR) vás také může překvapit.

Pokud potřebujete pomoc s oprášením starých technik, udělejte si revizi a vyhledejte nějaké články online. Je jich tam spousta. Zde a zde je několik příkladů SQL.

4. Nevyužívání výhod vzájemného hodnocení

Před nasazením plánů dotazů byste měli nechat někoho jiného zkontrolovat. Je pravděpodobné, že ostatní uvidí, o co jste přišli. Jejich recenze vašich indexů a výkonu dotazů vám často pomohou dále vylepšit váš kód. V tomto procesu by se od vás také mohli něco naučit a naopak.

5. Selhání testování vašich dotazů

Vývojáři nesnáší testování kódu. Za prvé, je to přísné. A za druhé, testovací prostředí (hardware a data) jen zřídka odpovídá skutečnému produkčnímu prostředí. Testování je však nezbytnou a nevyhnutelnou součástí kódování. Takže důkladně otestujte svůj kód a pokud je to možné, snažte se co nejvěrněji napodobit konečné produkční prostředí. Pamatujte, že vaše dotazy mohou fungovat dobře s několika stovkami záznamů, ale ne proti milionům ve finálním prostředí.

Závěr

Dotazy určují rychlost a výkon SQL databáze. Snažte se tedy vyhnout běžným chybám, jako je nekontrolování datového modelu nebo nezvažování, kterou techniku ​​použít. Jiným se nedaří používat staré techniky kódování, nevyužívají mechanismy vzájemného hodnocení a nedaří se jim testovat vaše dotazy.


  1. Funkce LOWER() v Oracle

  2. java.lang.IllegalStateException:Nelze přečíst řádek 0, sloupec -1 z CursorWindow – problém Android sqlite

  3. Oprava „ERROR 3942 (HY000):Každý řádek klauzule VALUES musí mít alespoň jeden sloupec“ při použití příkazu VALUES v MySQL

  4. JDBC - Oracle ArrayIndexOutOfBoundsException