Správičky 2 811 Blogy 948 Fórum 18 701

Zaujímavosti zo sveta

13.05 Antispam report Exchange 2013/…
blogCZSK
Nedávno jsem se setkal s prosbou, zda je možno udělat report nad funkcionalitou antispamu Exchange a trošku jsem narazil na problém, jak dos…
13.05 Pozvánka: konference, workshop…
blogCZSK
Níže jsme pro vás připravili přehled akcí, které jsou pro vás připraveny v příštích několika týdnech. Coding Bootcamp 19. 5. 2016 – Praha V …
12.05 Pozvánka: Nástroje a služby pr…
blogCZSK
Od vývoje přes nasazení po správu napříč platformami Rádi byste optimalizovali vývoj svých aplikací na různé platformy a nevíte jak? Zajímá …
12.05 System Center Configuration Ma…
blogCZSK
V minulém díle jsme nainstalovali SQL Server, který je nutný pro běh Configuration Manageru. Dnes nás čeká instalace WSUS, což je produkt, j…
11.05 Hovory od křivého stolu (5)
blogCZSK
A máme tu další díl českého video seriálu Hovory od křivého stolu (5). Pro toto vydání HKS jsme se ponořili do hlubin naší budovy a natočili…
11.05 Pozvánka: Coding Bootcamp Meet…
blogCZSK
V rámci pražského Coding Bootcampu budete mít možnost se naučit vše, co potřebuje moderní webový vývojář. Abyste měli představu, co bude náp…
10.05 Zajímavé kurzy a videa–MVA a C…
blogCZSK
I tento měsíc vám přinášíme výběr nejzajímavějších videí, kurzů a záznamů konferencí. Veškeré kurzy pak naleznete na portálu MVA a výuková v…
10.05 Azure Site Recovery – VMWARE (…
blogCZSK
Připravil jsem pro vás sérii článků, zabývající se technologií Azure Site Recovery. Konkrétně v šesti na sebe navazujících článcích se dozví…
09.05 DataScript: akční nabídka škol…
blogCZSK
Připravili jsme pro vás nabídku školení On-Demand. A jaké jsou výhody? nižší cena učíte se z pohodlí svého domova nebo kanceláře přístup mát…
05.05 System Center Configuration Ma…
blogCZSK
V předchozím díle jsme si nainstalovali prerekvizity potřebné pro běh Primary Site Configuration Manageru a také jsme připravili doménu pro …
20.04 Odkazy z prohlížeče – 20.4.201…
atasoft
CodeProject Video Transcoding and Streaming on the fly – CodeProject – přímo v prohlížeči (?) A Sample Code Submitted for Senior C# …
11.04 Linq a pracovní pohovor
mstr
Zjišťovat znalosti Linqu u pracovního pohovoru může být obtížné - s Linqem se asi setkal každý C# programátor, ale vždy záleží, do jaké hlou…
08.04 Linq - k čemu použít Aggregate…
mstr
K jednomu z předchozích článků, ve kterém jsem dal k dispozici cheatsheet pro Linq, se mne jeden známý zeptal, k čemu že je dobrý Aggregate …
27.03 Bezpečnost – věc veřejná
Poslední březnový den se v Praze uskuteční jednodenní konference o počítačové bezpečnosti SecPublica 2016. Jejím heslem je "securitas, res p…
16.03 Příklad na pohovor s programát…
mstr
Na blogu jsem uveřejnil několik příkladů z pohovorů s uchazeči o místo programátora. Dovolím si tedy uveřejnit jeden z dalších možných příkl…
15.03 IDisposable v příkladech
viga
Rozhraní IDisposable slouží k uvolnění “unmanaged” zdrojů. Nejčastěji to jsou různé objekty z Win32API (otevřené soubory, síťové spojení, GD…

3 zaujímavé MSSQL príkazy ake ste ešte nepoznali

vlko - 7. 7. 2012 0:15 - 2370 views

Dnes som narazil na článok

Three tricks to get more out of SQL Server in common web scenarios

S cieľom, prečo vznikli použité samples človek nemusí súhlasiť, ale

  1. The MERGE Statement (pre mňa novinka)
  2. Indexed Views (a.k.a Materialized Views) (toto už musí každý poznať)
  3. Common Table Expressions (opäť niečo s čím budem môcť troška pofrajeriť)

veru nie je niečo o čom by sa človek len tak dočítal v manuále.


Marian Vlcak

Článkov: 0, Správičiek: 1348, Príspevkov vo fóre: 2162, Príspevkov v blogu: 0, Bodov: 37770
Najaktívnejší č.: 1
Profil používateľa

Reakcie

# hu? 7. 7. 2012 8:36:06 Augi

To je nějaký víkendový vtip? :-)
To opravdu někdo na MSSQL implementuje upsert bez MERGE nebo dělá stránkování bez CTE?

# # 7. 7. 2012 9:21:18 siro

Ten MERGE je pre mňa teda novinka. Dík

# Vtip 7. 7. 2012 9:32:33 spigi

Augi, to nebude vtip, ked napriklad vyvojari musia udrziavat kompatibilitu s SQL Server 2005, kde tieto srandy nie su dostupne. Na case opustit SQL 2005 :-)

# Vtip 7. 7. 2012 9:34:14 spigi

Augi, to nebude vtip, ked napriklad vyvojari musia udrziavat kompatibilitu s SQL Server 2005, kde tieto srandy nie su dostupne. Na case opustit SQL 2005 :-)

# 2005?? 7. 7. 2012 10:49:51 noon (anonym)

Opustit 2005???
Ved CTE a Indexed views su v 2005

# re:vtip 7. 7. 2012 11:35:15 vlko

to augi: vytku na merge neberiem, na co mame transakcie, to ze insertujem a nahodou budem updatovat, mi pride ako nekonzistentny stav, ale urcite su automatizovane scenare, ktore nerobim, kde sa to hodi.

add cte: mne robi strankovanie orm wrapper nikdy som to neskumal a co som trackoval selecty, tak to robi cez exec, nie with. Ale aby som nekecal, tak vzdy som pozeral len select na prvu stranku.

to all: clovek sa cely zivot uci aj zakladne veci a veru nehanbim sa za to:)

# re: re: vtip 7. 7. 2012 12:31:08 Augi

Jasně, že transakčně můžeš udělat upsert třeba pomocí UPDATE + INSERT. Ale pomocí MERGE to máš v jednom příkazu a vždy je to o něco rychlejší. Povídal mi o tom Pavel Stěhule (Postgres guru), ale přesně si to nepamatuju. Ale v zásadě šlo myslím o to, že engine má v ruce nějakou stránku a tak může udělat rovnou jednu z těch operací. Kdežto když to máš jako jako dva samostatné commandy, tak tam tenhle reuse jednou načtených dat moc nefunguje.

add cte: Co jsem si naposledy hrál s EF, tak ten dělal stránkování pěkně právě pomocí CTE. Pokud tam nemáš žádný Skip (tj. první stránka), tak ale možná použije obyčejný TOP, to je možné :-)

Abych tu jen ale nepyskoval a taky přidal něco svého - používáte OUTPUT klauzuli (v Postgres RETURNING) ? To je naprosto killer feature a IMHO nejlepší způsob, jak přečíst automaticky vygenerované ID ;) Občas se mi OUTPUT klauzule hodila ale nejen u INSERTu, ale i u UPDATE a DELETE. A u MERGE samozřejmě taky ;-)

# Indexed Views a nedeterministické funkce 7. 7. 2012 15:53:58 Karel Mašát (anonym)

Tipů není nikdy dost, proto díky za upozornění na článek.

Neměl by někdo nápad, jak rozumně obejít - resp. vyřešit možnost použití Indexovaných View s použitím current_timestamp, tj. nedeterministické funkce? Mám spoustu záznamů platných od-do, platnost se může často měnit a hodilo by se mi mít nad takovouto tabulkou indexed view. Jak ale napsat select bez current_timestamp?

Přegenerovávat tabulku v nějakých intervalech a ukládat údaj o platnosti mi nepřijde zcela OK.

# ... 10. 7. 2012 3:04:06 T

@Karel:
Neviem, ci som porozumel. Vo view chces mat len platne zaznamy? Ak ano, logicky to nie je vchodny scenar na materializaciu.
Nechaj si materializovat vsetko bez ohladu na platnost, preco nie?

# View obsahující neplatná data 10. 7. 2012 11:30:17 Karel Mašát (anonym)

Díky za názor (T), zkusím nějaké testy, možná by to mohlo jít touto cestou, tj. mít indexované VIEW i s neplatnými daty a normální VIEW už pouze s platnými. Škoda, že indexovaná view neumožňují ani union.

Pridať reakciu

Titulok:
Meno:
Url:
Koľko je 22 + 4?
(ochrana proti spamu)
Komentár:

Najaktívnejší užívatelia
1. 37770 b. photo vlko
2. 21430 b. photo T
3. 15955 b. photo spigi
4. 15450 b. photo Anonymous
5. 11120 b. photo dudok
6. 9570 b. photo Liero
7. 6910 b. photo siro
8. 6245 b. photo slavof
9. 5395 b. photo duracellko
10. 4620 b. photo xxxmatko