LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Diskuze: článek PostgreSQL (21) - Spojování dotazů

Odlehčení
(link)
19.5.2006 23:49
Lukáš Zapletal
Věk: ( ~38 let)

Příliš jsem nepochopil, v čem že spočívá to odlehčení pro server. Buď si výsledky naskládá/vyhází programátor v aplikaci, nebo to za něj udělá databázový server. UNION a spol jsou obyčejné množinové operace sjednocení (resp. průnik a podobně) - server je musí zkrátka "ručně" provést tak jako tak (v paměti nebo na disku - podle počtu dat - za použití indexové strategie pochopitelně).

Odlehčení by mohlo nastat za situace, kdy by to programátor dělal původně s pomocí dočasných tabulek, což je zvyk ze serveru MySQL, který v ranných verzích neposkytoval jinou možnost. Tohle je ovšem standardizovaná záležitost, kterou Postgres umí dlouho.

Hezký seriál, dneska večer jsem si ho prošel. Jen tak dál!

Re: Odlehčení
(link)
22.5.2006 09:50
MaReK Olšavský
Věk: ( ~44 let) , Pracovní pozice: ?? Asi "holka pro vše" , Praxe v IT let: ( ~ let) , Bydliště: Duchcov

To je jednoduchý, řada lidí, zejména z řad začátečníků, má tendenci tohle řešit byť na serveru, ale ve svých scriptech, ať už se jedná o PHP, nebo Python. Nevím, nakolik se věnujete programování, ale i v kompilovaných jazycích mi vychází takovéto operace rychleji na serveru, než na aplikační úrovni, třeba už jen režie, kdy pošlu sekvenci dotazů a server musí každý analyzovat, vykonat, zpracovat výsledky a Ty mi vrátit.

Než jsem se dostal k PostgreSQL a FirebirdSQL, tak jsem taky všechno řešil na straně aplikace, nevěřil jsem, že stored procedury mohou být rychlejší, než sestavit složitý dotaz na straně aplikace, který pak předám a vezmu si zpět data. Pro zatím neobeznámené lidi z řad čtenářů, ta stored procedura je zanalyzovaná a server ví, které indexy bude používat a jaké hodnoty bude vracet, že jí předám data, která zafiltrují výstup, nebo jsou předlohou ke zpracování je bombónek.

Re: Odlehčení
(link)
23.5.2006 15:42
Lukáš Zapletal
Věk: ( ~38 let)

No to je jasný, ale v čem je to odlehčení pro server?Jako že to uživatel nebude hloupě psát postupně? Tak to potom jo :-) Je samozřejmě neefektivní to dělat v aplikaci, výhodnější je využít prostředky relační algebry a vykonat to na serveru.

Programování se věnuju teoreticky i prakticky :-D Databázím zejména... PostgreSQL je fajn.

Re: Odlehčení
(link)
1.6.2006 19:18
sirt2
Vždyť už Ti to napsal, zkusím Ti to tedy napsat trochu jinak (tzv. "pro Kopyta" :-)):

Otázka:
Co se děje, když se dotážeš DB serveru na data (=pošleš serveru SQL-dotaz -tedy PLAIN(=prostý) TEXT) ?

Odpověď:
Server musí nejdříve navázat komunikaci (to je patrně ta část, která zdržuje nejvíc), rozlouskat (=rozložit) ten textový řetězec a udělat si z toho nějakou datovou strukturu - prostě provádí nějaké INICIALIZACE, pak provede specifikované akce a nějakou formou klientovi (=Tobě) vrátí výsledek.

Když chceš tedy vyzvědět CO NEJRYCHLEJI nějaká data z DB serveru, tak je dobré (mimo jiné) spojit více dotazů do jednoho (SQL)-např.pomocí UNIONu, protože ušetříš právě to výše zmíněné NAVÁZÁNÍ KOMUNIKACE a něco z INICIALIZACÍ.

Tedy jeden "UNIONOVANÝ" SQL-dotaz je rychlejší než kdybys ty dotazy pokládal sériově za sebou.

Tolik tedy "PRO UNION".
Nyní začíná sekce "PROTI UNIONU" :-) :

Ovšem jiná věc je, když Ti na rychlosti zase až tak nezáleží. Pak to prostě napiš SÉRIOVĚ -je to přehlednější než UNION. A až bude později někdo Tvůj kód měnit, tak je menší pravděpodobnost, že do kódu zanese nějakou chybu (UNIONy jsou prostě složitější a většinou není čas je odlaďovat - je to zbytečná práce navíc).
Re: Odlehčení
(link)
1.6.2006 20:02
Aleš Hakl
Bydliště: Praha

Latence s navazanim komunikace pada na cele spojeni se serverem. Z tohoto pohledu je tedy naprosto jedno, jestli v jednom spojeni udelate dva dotazy, nebo jeden, ktery bude slozenim techto dvou. Union ma smysl opravdu jen tehdy, pokud chceme jako vystup ten union. Snazit se tim o nejake optimalizace je pravdepodobne naprosty nesmysl.

A pro ty vase uvahy o rychlosti bych docela rad videl nejake platne argumenty, vysledky mereni, ci citace vasich zdroju.

Re: Odlehčení
(link)
2.6.2006 08:36
Petr Zajíc
Věk: ( ~45 let)

Teda já zírám... souhlasím samozřejmě s Alešem. UNION je prostředek pro získání specifické množiny dat (sjednocení). Nemá nic společného s optimalizací. V situaci, kdy chceme ušetřit něco času při provádění dotazu nám mohou posloužit uložené procedury. Ty šetří čas tím, že server je předem "zná" a má "rozmyšleno", jak je nejrychleji obsloužit. To díky celkem sofistikovanému mechanismu nazvanému prováděcí plán.

vyhladavanie cez string bez diakritiky
(link)
23.5.2006 12:58
blindmen
Věk: ( ~37 let)

Chcel by som sa spytat ako sa riesi vyhladavanie cez varchar ak chcem potlacit diakritiku.
Uzivatel zada :
číča a chcem aby sa to pretransformovalo na cica a teda potom aj vsetky zaznami pri search by sa transformovali.

nieco ako select xxx from clovek where nejaka_funkcia(xxx) like nejaka_funkcia(yyy).

Databazove kodovanie mam ako UTF8

a funkcia to_ascii() mi hodi unsupported encoding
a convert('xxx','UTF8','ASCII') mi pismena s diakritikou prelozi ako znaky v zatvorkach teda napr :
číča prelozi ako : (a1)(e8)(a2)(d3)(a1)(e8)(a2)a
co nie jo to hladam ;)

Dik za pomoc

Re: vyhladavanie cez string bez diakritiky
(link)
23.5.2006 15:47
Lukáš Zapletal
Věk: ( ~38 let)

To je jednoduche - musite ta data orezat uz ve chvili, kdy je tam vkladate. Nevim o zadnem indexu, ktery by byl schopen odstranovat diakritiku. Pak staci diakritiku odstranit i v dotazu.

Pokud se diakritiky nechcete vzdat, tak doporucuji vytvorit si novy sloupec, ktery bude obsahovat tytez informace, jen bez diakritiky. Bude slouzit jen ke hledani. Bude to poruseni 3. normalni formy, ale v tomto pripade je poruseni na miste (NF neni dogma).

A nebo vyuzijte fulltextovy modul TSearch2. O fulltextovem vyhledavani v Postgresu 8.X by mel vyjit tento tyden na serveru LinuxEXPRES.cz muj clanek. To by bylo asi nejidealnejsi reseni, protoze s timto modulem muzete delat dokonce (ceskou!) lematizaci slov (diky ispellu).

Re: vyhladavanie cez string bez diakritiky
(link)
23.5.2006 17:00
blindmen
Věk: ( ~37 let)

Dik moc ;)
pockam si na ten clanok a potom sa rozhodnem ;). Z hladiska performance by bolo asi lepsie vytvorit samostatny stlpec vsak ?

Re: vyhladavanie cez string bez diakritiky
(link)
24.5.2006 07:19
Petr Zajíc
Věk: ( ~45 let)

Určitě. Sice bude více dat v DB, ale to hledání pak bude mnohem rychlejší. Ten stlpec se totiž dá naindexovat.

Re: vyhladavanie cez string bez diakritiky
(link)
24.5.2006 18:53
Lukáš Zapletal
Věk: ( ~38 let)

No fulltext je rychlejsi nez like, takze spis ten fulltext...

Re: vyhladavanie cez string bez diakritiky
(link)
11.10.2006 10:21
Tomk

Múžete prosím uvést url nebo název článku ? Nenašel jsem ho

DISKUZE

Odlehčení 19.5.2006 23:49 Lukáš Zapletal
L Re: Odlehčení 22.5.2006 09:50 MaReK Olšavský
  L Re: Odlehčení 23.5.2006 15:42 Lukáš Zapletal
    L Re: Odlehčení 1.6.2006 19:18 sirt2
      L Re: Odlehčení 1.6.2006 20:02 Aleš Hakl
        L Re: Odlehčení 2.6.2006 08:36 Petr Zajíc
vyhladavanie cez string bez diakritiky 23.5.2006 12:58 blindmen
  L Re: vyhladavanie cez string bez diakritiky 23.5.2006 15:47 Lukáš Zapletal
    |- Re: vyhladavanie cez string bez diakritiky 23.5.2006 17:00 blindmen
    | |- Re: vyhladavanie cez string bez diakritiky 24.5.2006 07:19 Petr Zajíc
    | L Re: vyhladavanie cez string bez diakritiky 24.5.2006 18:53 Lukáš Zapletal
    L Re: vyhladavanie cez string bez diakritiky 11.10.2006 10:21 Tomk




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

16.7.2018 1:05 /František Kučera

Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.


Přidat komentář

18.6.2018 0:43 /František Kučera
Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.
Přidat komentář

23.5.2018 20:55 /Ondřej Čečák
Od pátku 25.5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spostu zajímavých přednášek, workshopů a také na Release Party nového openSUSE leap 15.0. V na stejném místě proběhne v sobotu 26.5. i seminář o bezpečnosti CryptoFest.
Přidat komentář

20.5.2018 17:45 /Redakce Linuxsoft.cz
Ve čtvrtek 31. května 2018 připravuje webový magazín BusinessIT ve spolupráci s Best Online Média s.r.o. pátý ročník odborné konference Firemní informační systémy 2018. Akce proběhne v kongresovém centru Vavruška (palác Charitas), Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 15 hod. odpoledne. Konference je zaměřena na efektivní využití firemních informačních systémů a na to, jak plně využít jejich potenciál. Podrobnější informace na webových stránkách konfrence.
Přidat komentář

14.5.2018 7:28 /František Kučera
Květnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 17. 5. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: Audio – zvuk v GNU/Linuxu.
Přidat komentář

7.5.2018 16:20 /František Kučera
Na stránkách spolku OpenAlt vyšla fotoreportáž Pražské srazy 2017 dokumentující srazy za uplynulý rok. Květnový pražský sraz na téma audio se bude konat 17. 5. 2018 (místo a čas ještě upřesníme).
Přidat komentář

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2018) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze