sql >> Databáze >  >> RDS >> Sqlserver

Jaké je použití kurzoru v SQL Server?

Kurzory jsou mechanismem pro explicitní výčet řádků sady výsledků, spíše než její načítání jako takové.

I když mohou být pohodlnější pro programátory, kteří jsou zvyklí psát While Not RS.EOF Do ... , jsou obvykle věcí, které je třeba se v rámci uložených procedur SQL Serveru vyhnout, pokud je to možné – pokud můžete napsat dotaz bez použití kurzorů, dáte optimalizátoru mnohem větší šanci najít rychlý způsob, jak jej implementovat.

Upřímně řečeno, nikdy jsem nenašel realistický případ použití kurzoru, kterému by se nedalo vyhnout, s výjimkou několika administrativních úkolů, jako je smyčkování všech indexů v katalogu a jejich opětovné sestavení. Předpokládám, že by mohly mít nějaké využití při generování sestav nebo hromadné korespondenci, ale pravděpodobně bude efektivnější dělat práci podobnou kurzoru v aplikaci, která mluví s databází a nechá databázový stroj dělat to, co umí nejlépe – manipulaci s nastavením.



  1. Získání skutečné (absolutní) doby provedení posledního dotazu v PHP (s výjimkou latence sítě atd.)

  2. Jak zdravý je váš SQL Server? Proaktivní monitorování databáze je kritické

  3. Je možné spustit pravidlo apriori asociace v příkazu mysql?

  4. Jak nainstalovat MySQL pomocí phpMyAdmin na Ubuntu 14.04