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: ( ~37 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: ( ~43 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: ( ~37 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: ( ~44 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: ( ~36 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: ( ~37 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: ( ~36 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: ( ~44 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: ( ~37 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ů

14.11.2017 16:56 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.11.2017 11:06 /Redakce Linuxsoft.cz
PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

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

> Poslední diskuze

15.12.2017 15:11 / Petit
freehold nj

15.12.2017 15:06 / Petit
nj freehold

5.12.2017 11:50 / Thomas
kitchen renovations

18.9.2017 14:37 / Rojas
high security vault

15.9.2017 7:33 / Wilson
new zealand childcare jobs

Více ...

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