LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

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

Odlehčení
(link)
19.5.2006 23:49
Lukáš Zapletal
Věk: ( ~44 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: ( ~50 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: ( ~44 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: ( ~51 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: ( ~43 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: ( ~44 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: ( ~43 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: ( ~51 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: ( ~44 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ů

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

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ář

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

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

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