{"id":75678,"date":"2020-03-27T19:42:27","date_gmt":"2020-03-27T17:42:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/o-chem-molchit-explain-i-kak-ego-razgovorit"},"modified":"2020-03-27T19:42:27","modified_gmt":"2020-03-27T17:42:27","slug":"o-chem-molchit-explain-i-kak-ego-razgovorit","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/o-chem-molchit-explain-i-kak-ego-razgovorit","title":{"rendered":"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nj\u00eb pyetje klasike, me t\u00eb cil\u00ebn zhvilluesi i drejtohet DBA-s s\u00eb tij ose pronarit t\u00eb biznesit \u2014 t\u00eb nj\u00eb k\u00ebshilltari p\u00ebr PostgreSQL, pothuajse gjithmon\u00eb ting\u00ebllon e nj\u00ebjt\u00eb: <i>\"Pse k\u00ebrkesat ekzekutohen kaq ngadal\u00eb n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave?\"<\/i><\/p>\n<p>Grupi tradicional i arsyeve:<\/p>\n<ul>\n<li><b>algoritmi joefikas<\/b><br \/>\nkur vendosni t\u00eb b\u00ebni JOIN disa CTE me dhjet\u00ebra mij\u00ebra regjistra<\/li>\n<li><b>statistika t\u00eb prishura<\/b><br \/>\n\u0435\u0441\u043b\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0439 ANALYZE&#8217;\u043e\u043c \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437<\/li>\n<li><b>\"ndalese\" p\u00ebr burimet<\/b><br \/>\ndhe tashm\u00eb nuk ka burtime t\u00eb dedikuara t\u00eb fuqis\u00eb kompjuterike, gjigabajt\u00ebt e memories vazhdojn\u00eb t\u00eb aktivizohen, ose disku nuk arrin t\u00eb p\u00ebrballoj\u00eb t\u00eb gjitha \"k\u00ebnaq\u00ebsit\u00eb\" e DB-s\u00eb<\/li>\n<li><b>bllokime<\/b> nga proceset konkuruese<\/li>\n<\/ul>\n<p>\nDhe n\u00ebse bllokimet jan\u00eb mjaft t\u00eb v\u00ebshtira p\u00ebr t'u kapur dhe analizuar, p\u00ebr gjith\u00e7ka tjet\u00ebr na mjafton <b>plani i k\u00ebrkes\u00ebs<\/b>, i cili mund t\u00eb merret me an\u00eb t\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/12\/using-explain\">operat\u00ebs EXPLAIN<\/a><\/noindex> (<i>\u043b\u0443\u0447\u0448\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441\u0440\u0430\u0437\u0443 EXPLAIN (ANALYZE, BUFFERS) &#8230;<\/i>) ose <noindex><a rel=\"nofollow\" href=\"https:\/\/postgrespro.ru\/docs\/postgresql\/12\/auto-explain\">modulit auto_explain<\/a><\/noindex>.<\/p>\n<p>Por, si\u00e7 thot\u00eb po ajo dokumentacion, <\/p>\n<blockquote><p>\"Kuptimi i planit \u00ebsht\u00eb nj\u00eb art, dhe p\u00ebr ta zot\u00ebruar at\u00eb, nevojitet nj\u00eb p\u00ebrvoj\u00eb e caktuar, ...\"<\/p><\/blockquote>\n<p> Por \u00e7far\u00eb mund t\u00eb kaloni dhe pa t\u00eb, n\u00ebse p\u00ebrdorni nj\u00eb instrument t\u00eb p\u00ebrshtatsh\u00ebm!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nSi zakonisht duket plani i k\u00ebrkes\u00ebs? Di\u00e7ka si kjo:<\/p>\n<pre><code class=\"plaintext\">Index Scan using pg_class_relname_nsp_index on pg_class (actual time=0.049..0.050 rows=1 loops=1)\n  Index Cond: (relname = $1)\n  Filter: (oid = $0)\n  Buffers: shared hit=4\n  InitPlan 1 (returns $0,$1)\n    -&gt;  Limit (actual time=0.019..0.020 rows=1 loops=1)\n          Buffers: shared hit=1\n          -&gt;  Seq Scan on pg_class pg_class_1 (actual time=0.015..0.015 rows=1 loops=1)\n                Filter: (relkind = 'r'::&quot;char&quot;)\n                Rows Removed by Filter: 5\n                Buffers: shared hit=1<\/code><\/pre>\n<p>\nose k\u00ebshtu:<\/p>\n<pre><code class=\"plaintext\">&quot;Append  (cost=868.60..878.95 rows=2 width=233) (actual time=0.024..0.144 rows=2 loops=1)&quot;\n&quot;  Buffers: shared hit=3&quot;\n&quot;  CTE cl&quot;\n&quot;    -&gt;  Seq Scan on pg_class  (cost=0.00..868.60 rows=9972 width=537) (actual time=0.016..0.042 rows=101 loops=1)&quot;\n&quot;          Buffers: shared hit=3&quot;\n&quot;  -&gt;  Limit  (cost=0.00..0.10 rows=1 width=233) (actual time=0.023..0.024 rows=1 loops=1)&quot;\n&quot;        Buffers: shared hit=1&quot;\n&quot;        -&gt;  CTE Scan on cl  (cost=0.00..997.20 rows=9972 width=233) (actual time=0.021..0.021 rows=1 loops=1)&quot;\n&quot;              Buffers: shared hit=1&quot;\n&quot;  -&gt;  Limit  (cost=10.00..10.10 rows=1 width=233) (actual time=0.117..0.118 rows=1 loops=1)&quot;\n&quot;        Buffers: shared hit=2&quot;\n&quot;        -&gt;  CTE Scan on cl cl_1  (cost=0.00..997.20 rows=9972 width=233) (actual time=0.001..0.104 rows=101 loops=1)&quot;\n&quot;              Buffers: shared hit=2&quot;\n&quot;Planning Time: 0.634 ms&quot;\n&quot;Execution Time: 0.248 ms&quot;<\/code><\/pre>\n<p>\nPor t\u00eb lexosh planin me fjal\u00eb \"nga flet\u00eb\" \u2014 \u00ebsht\u00eb shum\u00eb e v\u00ebshtir\u00eb dhe jofshikueshme:<\/p>\n<ul>\n<li>n\u00eb nyj\u00eb jepet <b>shuma sipas burimeve t\u00eb n\u00ebnpem\u00ebs<\/b><br \/>\npra t\u00eb kuptoni se sa koh\u00eb ka marr\u00eb realizimi i nj\u00eb nyjeje t\u00eb caktuar, ose sa sakt\u00ebsisht ky lexim nga tabela ka nxjerr\u00eb t\u00eb dh\u00ebna nga disku \u2014 duhet n\u00eb nj\u00ebfar\u00eb m\u00ebnyre t\u00eb zbresim nj\u00eb nga tjetra<\/li>\n<li>koha e nyjes \u00ebsht\u00eb e nevojshme <b>t\u00eb shum\u00ebzohet me loops<\/b><br \/>\npo, zbritja akoma nuk \u00ebsht\u00eb operacioni m\u00eb i komplikuar q\u00eb duhet b\u00ebr\u00eb \u00abn\u00eb mendje\u00bb \u2014 sepse koha e realizimit jepet mesatare p\u00ebr nj\u00eb realizim t\u00eb nyjes, dhe ato mund t\u00eb jen\u00eb qindra<\/li>\n<li>aty e gjith\u00eb kjo bashk\u00eb pengon p\u00ebrgjigjen e pyetjes kryesore \u2014 kush \u00ebsht\u00eb <b>\u00ablidhja m\u00eb e dob\u00ebt\u00bb<\/b>?<\/li>\n<\/ul>\n<p>\nKur p\u00ebrpiqeshim t\u00eb shpjegonim t\u00eb gjitha k\u00ebto disa qindra zhvilluesve tan\u00eb, kuptuam se nga jasht\u00eb kjo duket m\u00eb pak si kjo:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/abb07e902639b5ec245851aa4a0edb58.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA, pra, na nevojitet...<\/p>\n<h2>Instrument<\/h2>\n<p>\nK\u00ebtu p\u00ebrpiqemi t\u00eb mbledhim t\u00eb gjith\u00eb mekanizmat kryesor\u00eb q\u00eb ndihmojn\u00eb sipas planit dhe k\u00ebrkes\u00ebs p\u00ebr t\u00eb kuptuar \u00abkush \u00ebsht\u00eb fajtor dhe \u00e7far\u00eb duhet b\u00ebr\u00eb\u00bb. Po ashtu, t\u00eb ndajm\u00eb nj\u00eb pjes\u00eb t\u00eb p\u00ebrvoj\u00ebs ton\u00eb me komunitetin.<br \/>\nMir\u00eb se vini dhe p\u00ebrdorni \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/explain.tensor.ru\/\">explain.tensor.ru<\/a><\/noindex> <\/p>\n<h3>Klar\u00ebsia e planeve<\/h3>\n<p>\nA \u00ebsht\u00eb e leht\u00eb t\u00eb kuptohet plani kur ai duket k\u00ebshtu?<\/p>\n<pre><code class=\"plaintext\">Seq Scan on pg_class (koha reale=0.009..1.304 rreshta=6609 loops=1)\n  Buffers: shared hit=263\nKoha e Planifikimit: 0.108 ms\nKoha e Ekzekutimit: 1.800 ms\n<\/code><\/pre>\n<p>\nJo shum\u00eb.<\/p>\n<p>Por k\u00ebshtu, <b>n\u00eb form\u00eb t\u00eb shkurtuar<\/b>, kur treguesit kryesor\u00eb jan\u00eb t\u00eb ndar\u00eb \u2014 tashm\u00eb \u00ebsht\u00eb shum\u00eb m\u00eb e kuptueshme:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/18404ce800de847f1934ac2c7fef10be.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor\u00eb q\u00eb plani t\u00eb jet\u00eb m\u00eb kompleks, ndihma do t\u00eb vij\u00eb <b>diagrame e shp\u00ebrndarjes s\u00eb koh\u00ebs<\/b> sip\u00ebr nodeve:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/ca9fdd07278801e4f3ad15e997efc1a0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPo, p\u00ebr opsionet m\u00eb t\u00eb komplikuara, ndihm\u00ebn e sjell <b>diagrame e ekzekutimit<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/c03f358858206d7ccae20fd8142baa8c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr shembull, ka situata mjaft jo-triviale kur plani mund t\u00eb ket\u00eb m\u00eb shum\u00eb se nj\u00eb rr\u00ebnj\u00eb t\u00eb v\u00ebrtet\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/ea4f3f498737e9cc3f8f40c16a5bd1d7.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/267273e8491d6b4403442672612c33ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Sugjerimet strukturore<\/h3>\n<p>\nPo, n\u00ebse e gjith\u00eb struktura e planit dhe dob\u00ebsit\u00eb e tij jan\u00eb ndar\u00eb dhe t\u00eb dukshme \u2014 pse t\u00eb mos i ndri\u00e7ojm\u00eb ato p\u00ebr zhvilluesin dhe t\u00eb shpjegojm\u00eb me \"gjuh\u00eb t\u00eb thjesht\u00eb\"?<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/0e7157a09f7f5707e769cc1d6a8f3af8.png\" style=\"display:block;margin: 0 auto;\" \/>T\u00eb tilla shabllone rekomandimesh ne kemi mbledhur tashm\u00eb disa dhjet\u00ebra.<\/p>\n<h3>Profilizuesi rresht p\u00ebr k\u00ebrkesat<\/h3>\n<p>\nTani, n\u00ebse i aplikoni k\u00ebrkes\u00ebs fillestare planit q\u00eb po analizohet, do t\u00eb shihni sa koh\u00eb ka kaluar p\u00ebr secilin operator t\u00eb ve\u00e7ant\u00eb \u2014 p\u00ebraf\u00ebrsisht k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/0766d331798d529363d10006ace211f3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 ose madje k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"\u00c7far\u00eb flet EXPLAIN, dhe si ta bisedojm\u00eb at\u00eb\" src=\"\/wp-content\/uploads\/2020\/03\/4efd23d84792c5a7f54b40e86ff17353.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Z\u00ebvend\u00ebsimi i parametrave n\u00eb k\u00ebrkes\u00eb<\/h3>\n<p>\nN\u00ebse \"kefsh\u00eb\" k\u00ebrkes\u00ebn tuaj dhe parametrat e saj nga rreshti DETAIL t\u00eb logut, do t\u00eb jeni n\u00eb gjendje ta kopjoni at\u00eb p\u00ebr m\u00eb tej n\u00eb nj\u00eb nga variantet:<\/p>\n<ul>\n<li>me z\u00ebvend\u00ebsimin e vlerave n\u00eb k\u00ebrkes\u00eb<br \/>\np\u00ebr ekzekutim t\u00eb menj\u00ebhersh\u00ebm n\u00eb baz\u00ebn tuaj dhe p\u00ebr profilizim t\u00eb m\u00ebtejsh\u00ebm<\/p>\n<pre><code class=\"sql\">SELECT 'const', 'param'::text;<\/code><\/pre>\n<\/li>\n<li>me z\u00ebvend\u00ebsimin e vlerave p\u00ebrmes PREPARE\/EXECUTE<br \/>\np\u00ebr t\u00eb simuluar funksionimin e planifikuesit, kur pjesa parametrike mund t\u00eb injorohet \u2014 p\u00ebr shembull, kur punoni me tabela t\u00eb ndara<\/p>\n<pre><code class=\"sql\">DEALLOCATE ALL;\nPREPARE q(text) AS SELECT 'const', $1::text;\nEXECUTE q('param'::text);\n<\/code><\/pre>\n<\/li>\n<\/ul>\n<p><\/p>\n<h3>Arkivi i planeve<\/h3>\n<p>\nShtoni, analizoni, ndani me koleg\u00ebt! Planet do t\u00eb mbeten n\u00eb arkiv dhe ju do t\u00eb keni mund\u00ebsi t\u00eb ktheheni te to m\u00eb von\u00eb: <noindex><a rel=\"nofollow\" href=\"https:\/\/explain.tensor.ru\/archive\/\">explain.tensor.ru\/archive<\/a><\/noindex><\/p>\n<p>Por n\u00ebse nuk d\u00ebshironi q\u00eb plani juaj t\u00eb shihet nga t\u00eb tjer\u00ebt, mos harroni t\u00eb vendosni shenj\u00ebn \u201emos e publikoni n\u00eb arkiv\u201c.<\/p>\n<p>N\u00eb artikujt e ardhsh\u00ebm do t\u00eb flas p\u00ebr ato v\u00ebshtir\u00ebsi dhe zgjidhje q\u00eb ndodhin gjat\u00eb analizimit t\u00eb planit.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/tensor\/blog\/477624\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u0441\u0432\u043e\u0435\u043c\u0443 DBA \u0438\u043b\u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u2014 \u043a \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u0443 \u043f\u043e PostgreSQL, \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u0442\u0430\u043a \u0434\u043e\u043b\u0433\u043e?\u00bb \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u0447\u0438\u043d: \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c JOIN \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 CTE \u043f\u043e \u043f\u0430\u0440\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0435\u0441\u043b\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":75679,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-75678","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u0441\u0432\u043e\u0435\u043c\u0443 DBA \u0438\u043b\u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u2014 \u043a \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u0443 \u043f\u043e PostgreSQL, \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u0442\u0430\u043a \u0434\u043e\u043b\u0433\u043e?\u00bb \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u0447\u0438\u043d: \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c JOIN \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 CTE \u043f\u043e \u043f\u0430\u0440\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0435\u0441\u043b\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/o-chem-molchit-explain-i-kak-ego-razgovorit\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e \u0447\u0435\u043c \u043c\u043e\u043b\u0447\u0438\u0442 EXPLAIN, \u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u0441\u0432\u043e\u0435\u043c\u0443 DBA \u0438\u043b\u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u2014 \u043a \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u0443 \u043f\u043e PostgreSQL, \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u0442\u0430\u043a \u0434\u043e\u043b\u0433\u043e?\u00bb \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u0447\u0438\u043d: \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c JOIN \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 CTE \u043f\u043e \u043f\u0430\u0440\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0435\u0441\u043b\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/o-chem-molchit-explain-i-kak-ego-razgovorit\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-27T17:42:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-27T17:42:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00c7far\u00eb hesht EXPLAIN, dhe si ta b\u00ebni at\u00eb t\u00eb flas\u00eb | ProHoster","description":"Pyetja klasike me t\u00eb cil\u00ebn zhvilluesi i drejtohet DBA-s\u00eb s\u00eb tij ose pronari i biznesit \u2014 tek konsulenti p\u00ebr PostgreSQL, pothuajse gjithmon\u00eb ting\u00ebllon e nj\u00ebjt\u00eb: \u201ePse k\u00ebrkesat zgjat\u00ebn aq gjat\u00eb n\u00eb baz\u00eb?\u201c Grupi tradicional i arsyeve: algoritmi joefikas kur keni vendosur t\u00eb b\u00ebni JOIN disa CTE me disa dhjet\u00ebra mij\u00ebra regjistrime, statistika t\u00eb pasakta n\u00ebse shp\u00ebrndarja aktuale e t\u00eb dh\u00ebnave n\u00eb tabel\u00eb ka ndryshuar ndjesh\u00ebm","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/o-chem-molchit-explain-i-kak-ego-razgovorit","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e \u0447\u0435\u043c \u043c\u043e\u043b\u0447\u0438\u0442 EXPLAIN, \u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c | ProHoster","og:description":"\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u0441\u0432\u043e\u0435\u043c\u0443 DBA \u0438\u043b\u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u2014 \u043a \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u043d\u0442\u0443 \u043f\u043e PostgreSQL, \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e: \u00ab\u041f\u043e\u0447\u0435\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u0442\u0430\u043a \u0434\u043e\u043b\u0433\u043e?\u00bb \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u0447\u0438\u043d: \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c JOIN \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 CTE \u043f\u043e \u043f\u0430\u0440\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0435\u0441\u043b\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/o-chem-molchit-explain-i-kak-ego-razgovorit","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-27T17:42:27+00:00","article:modified_time":"2020-03-27T17:42:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"75678","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:51:29","updated":"2022-09-30 01:03:00"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/75678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=75678"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/75678\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/75679"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=75678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=75678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=75678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}