Notebook na VŠ za 15000



Dobrý den,v říjnu budu nastupovat na vysokou školu, kde budu potřebovat notebook. Notebook jsem nikdy neměl a vůbec se v nich nevyznám, proto bych se rád zeptal zde. Pokusím se zde vypsat vše, na co si vzpomenu, co by Vám mohlo pomoci mi pomoci, takže to asi bude trochu delší počteníčko :DNa co notebook potřebuji?- Nastupuji na VŠ, obor strojírenství a později zaměření robotika, tudíž kromě klasických textových, tabulkových programů atd., budu používat i nějaké 3D modelovací programy, simulace atd.- Doma bych si na něm taky ve volném čase rád něco zahrál- Nakonec taky na nějaké to běžné používání, internet, filmy atd.Co očekávám a vyžaduji?- Cenu okolo 15 000 (dejme tomu plus mínus 2000, ještě nevím, kolik přesně si vydělám, ale zůstaňme kolem té patnáctky)- Teoreticky jedinou podmínkou, kterou notebook skutečně musí splňovat, je DVD mechanika a Wi-Fi.- Od hraní neočekávám žádné zázraky, ačkoliv se v noteboocích nevyznám, tak vím, že na hraní je vždy lepší stolní PC, než notebook. Bohužel můj stolní PC dosluhuje a já si rozhodně nevydělám na notebook i stolní PC, tudíž to musím řešit takto. Rozhodně nečekám, že na něm rozjedu nejnovější hry ani na nejnižší detaily. Jak říkám, můj stolní PC je stará rachotina, která rozjela nejnovější hru z roku 2010, takže jsem zvyklý hrát málo náročné/starší hry :D. Co mě teď tak napadá, že bych na tom chtěl hrát je asi WoW, Heroes of the Storm, SWTOR, Assassin´s Creed II, World of Tanks, Skyrim atd. Bylo by samozřejmě super, kdybych na tom rozjel GTA V, ale jak říkám, neočekávám to a ani to není podmínkou. Samozřejmě ale čím výkonnější by byl, tím lépe. Takže tímto bych zároveň chtěl poprosit různé chytráky, aby se zdrželi bezvýznamných komentářů o tom, jak jsou notebooky na hovno, a jak se na nich nedá hrát atd. Jak říkám, nečekám zázraky a většinu zmíněných her jsem stejně rozjel i na té stolní rachotině s 256 MB grafikou a 2 GB RAM :D- S výkonem ale souvisí chlazení. Bylo by dobré, aby vzhledem k ceně a hardwaru bylo kvalitní a v rámci možností dobře odvádělo teplo, nerad bych to usmažil. Případně, je dobré dokoupit alespoň domů chladící podložku? Funguje to?- S velikostí teda moc nevím, jak říkám, budu ho nosit do školy (zatím vůbec nevím jak často, ale hádám, že denně asi ne), ale i používat doma, takže čím větší, tím lepší, ale zase ať to není nějaká pětikilová potvora. V tomhle ohledu asi budu potřebovat radu někoho zkušeného, co je ještě na přenášení přijatelná váha a velikost.- Taky by bylo fajn, aby mi nějakou dobu vydržel, a abych nemusel za dva roky kupovat nový.- Jakou značku vůbec nevím, slyšel jsem akorát od známých, že za žádnou cenu nemám brát Acer, že prý nejsou zrovna kvalitní, ale vůbec nevím.Nový nebo repas?- Momentálně dělám brigádně ve skladu, kde je jeden z našich zákazníků Dell. Od šéfa jsem dostal kontakt na servisního technika přímo z Dellu, který dělá repase notebooků. Jsou tři, čtyři roky staré, ale ten technik je komplet vyčiští, případně vymění baterii, disk, nahodí oficiální Windowsy. Šéf mi ho doporučuje, že na to, že je to použité, je to prý hodně kvalitní, funguje mu už hodně dlouho a v případě problémy prý není problém se domluvit na servisu. Chápu, že na tohle je asi těžké odpovědět, ale vyplatí se mi spíše kupovat nový nebo je lepší takovýto repas od odborníka?No, to je asi vše, ale je možné, že jsem na něco zapomněl, takže to případně přidám do komentářů nebo se doptejte. Budu tedy skutečně rád za každou rozumnou radu a pomoc s výběrem :)
No, to je tady na téhle poradně normální, že někdo odpovídá na komentáře pod cizím (v tomhle případě mým) nickem? Nic neberu, takže tohle zkoušej na někoho jiného. Tak takoví idioty teda fakt svědčí o "kvalitě" této poradny...
běžná závada grafiky (integrované) nebo základové desky - oprava dražší než koupě nového ... máte-li v záruce, reklamujte. Nemáte-li, vyjměte si HDD a prodejte na ND. Záleží hlavně na grafické kartě, tato hra vyžaduje minimálně: Nvidia 7900 256MB alebo ATI X1900 256MB.

Nicméně na grafických kartách v noteboocích nemusí fungovat korektně. <p><strong> poznámka: </strong> <em>toto bylo testováno na notebooku s grafickou kartou řízenou i915.</em></p><hr><h3>pozadí</h3><p><strong> poznámka: </strong> když je připojena nová obrazovka, do hostitele není odeslána žádná událost, zůstane to pravda i po mé poslední úpravě. jediným způsobem je tedy použít dotazování. snažím se, aby byly co nejefektivnější ...</p><h3>úprava # 3</h3><p>nakonec existuje jedno lepší řešení (prostřednictvím acpi):</p><p>stále neexistuje žádná událost, ale acpi se zdá být efektivnější než <code>xrandr</code> na dotaz. (poznámka: toto <strong> vyžaduje </strong> načtené moduly jádra acpi, ale nevyžaduje oprávnění root.</p><p>moje konečné řešení (pomocí bash):</p><pre><code>isvgaconnected() { local crtstate read -a &lt; /proc/acpi/video/vid/crt0/state crtstate test $(( ( ${crtstate[1]} &gt;&gt;4 ) ${1:+*-1+1} )) -ne 0 } </code></pre><p>nyní test:</p><pre><code>$ if isvgaconnected; then echo yes; else echo no; fi yes </code></pre><p>je zapojen, takže ho nyní odpojím:</p><pre><code>$ if isvgaconnected; then echo yes; else echo no; fi no </code></pre><p><strong> poznámka: </strong> <code>${1:+*-1+1}</code> povolit argument <em>boolean</em>: pokud <em>něco je přítomno</em>, odpověď by byla obrácena: <code>( crtstate &gt;&gt; 4 ) * -1 + 1</code>.</p><p>a závěrečný skript:</p><pre><code>#!/bin/bash export crtprocentry=/proc/acpi/video/vid/crt0/state isvgaconnected() { local crtstate read -a &lt; $crtprocentry crtstate test $(( ( ${crtstate[1]} &gt;&gt;4 ) ${1:+*-1+1} )) -ne 0 } delay=.1 unset switch isvgaconnected || switch=not while :;do while isvgaconnected $switch;do sleep $delay done if [ "$switch" ];then unset switch echo vga is connected # doing something while vga is connected else switch=not echo vga is not connected. # doing something else, maybe. fi done </code></pre><p><strong> upozornění: </strong> <em>lehčí než <code>xrandr</code>, ale ne nevýznamné</em> se zpožděním menším než <em>,02</em> sekund, bash skript půjde na začátek procesu jedlíci zdrojů (<code>top</code>)!</p><p>i když to stojí ~ 0,001 s:</p><pre><code>$ time read -a &lt;/proc/stat crtstat </code></pre><p>vyžaduje to ~ 0,030 s:</p><pre><code>$ read -a &lt; /proc/acpi/video/vid/crt0/state crtstate </code></pre><p>to je velké! takže v závislosti na tom, co potřebujete, lze <code>delay</code> rozumně nastavit mezi <code>0.5</code> a <code>2</code>.</p><h3>úprava # 2</h3><p>nakonec jsem něco našel:</p><p><strong> důležité vyloučení odpovědnosti: </strong> hraní s <code>/proc</code> a <code>/sys</code> záznamy mohou poškodit váš systém !!! takže na produkčních systémech nezkoušejte následující.</p><pre><code>mapfile watchfilelist &lt; &lt;( find /sys /proc -type f 2&gt;/dev/null | grep -i acpi\\\|i91 ) prompt=("/" "|" '\' '-'); l=0 while :; do mapfile watchstat &lt; &lt;( grep -h . ${watchfilelist[@]} 2&gt;/dev/null ) for ((i=0;i&lt;=${#watchstat[@]};i++)); do [ "${watchstat[i]}" == "${oldstat[i]}" ] || echo ${watchstat[i]} done oldstat=("${watchstat[@]}") sleep .5 printf "\r%s\r" ${prompt[l++]} [ $l -eq 4 ]&amp;&amp;l=0 done </code></pre><p>... po očištění nežádoucích záznamů:</p><pre><code>for ((i=0;i&lt;=${#watchfilelist[@]};i++)); do [[ "${watchfilelist[$i]}" =~ /sys/firmware/acpi/interrupts/sci ]] &amp;&amp; unset watchfilelist[$i] &amp;&amp; echo $i done </code></pre><p>to jsem dokázal přečíst:</p><pre><code>/proc/acpi/video/vid/crt0/state:state: 0x1d /proc/acpi/video/vid/crt0/state:state: 0x0d /proc/acpi/video/vid/crt0/state:state: 0x1d </code></pre><p>když připojím, odpojte a znovu zapojte kabel monitoru.</p><p>při dotazu na konfiguraci (spuštění <code>system/preferences/monitor</code> nebo <code>xrandr</code>), grafické karty udělají typ <em>scan</em>, takže běží <code>xrandr -q</code> vám dá informace, ale musíte zjistit stav.</p><p>prohledal jsem všechny protokoly (jádro, démona, x atd.) prohledávajícím <code>/proc</code> &amp; <code>/sys</code> a zjevně se zdá, že neexistuje nic, co by vyhovovalo vaší žádosti.</p><p>zkusil jsem to také:</p><pre><code>export spc50="$(printf "%50s" "")" watch -n1 ' find /proc/acpi/video -type f | xargs grep -h . | sed "s/^\([^:]*):/\1'$spc50'}:/; s/^\(.\{50\}\) *:/\1 /"' </code></pre><p>po tom všem, když spustíte <code>system/preferences/monitor</code> zatímco nebyla připojena žádná nová obrazovka ani odpojena, bude se nástroj zobrazovat jednoduše (normálně). ale pokud jste již dříve připojili nebo odpojili obrazovku, občas spustíte tento nástroj a uvidíte, že na ploše vytvoříte typ <em>reset</em> ​​nebo <em>obnovit</em> ​​(stejný pokud spustíte <code>xrandr</code>).</p><p>zdá se, že to potvrzuje, že tento nástroj požádá o <code>xrandr</code> (nebo pracuje stejným způsobem) pravidelným dotazováním na stav, počínaje okamžikem jeho spuštění.</p><p>můžete vyzkoušet sami:</p><pre><code>$ for ((i=10;i--;)); do xrandr -q | grep ' connected' | wc -l; sleep 1; done 1 1 1 2 2 2 1 1 1 1 </code></pre><p>tím se na 10 sekund zobrazí počet připojených obrazovek (displejů).</p><p>zatímco to běží, připojte a/nebo odpojte obrazovku/monitor a podívejte se, co se děje. takže byste mohli vytvořit malou testovací funkci bash:</p><pre><code>isvgaconnected() { local xrandr=$(xrandr -q) [ "$xrandr" == "${xrandr#*vga1 con}" ] || return 0 return 1 } </code></pre><p>který by byl použitelný jako v:</p><pre><code>$ if isvgaconnected; then echo yes; fi </code></pre><p>ale buďte opatrní, <code>xrandr</code> trvá asi <strong> 0,140 s do 0.200 s </strong>, zatímco na zástrčkách nedojde k žádné změně a do <strong> 0,770 sekund </strong> kdykoli něco bylo připojeno nebo odpojeno těsně před (<strong> poznámka: </strong> zdá se, že to není zdrojový zdroj).</p><h3>úprava # 1</h3><p>abych zajistil, že neučím něco nesprávného, ​​prohledával jsem web a dokumenty, ale nenašel jsem nic o <em>dbus and screens</em>.</p><p>nakonec jsem běžel ve dvou různých oknech <code>dbus-monitor --system</code> (hrál jsem také s možnostmi) a malý skript, který jsem napsal:</p><pre><code>$ for ((i=1000;i--;)); do isvgaconnected &amp;&amp; echo yes || echo no; sleep .5; done </code></pre><p>... a znovu zapojen, než odpojen monitor, mnohokrát. takže teď mohu říci:</p><ul> <li><em>v této konfiguraci <strong> pomocí ovladače i915 </strong> neexistuje jiný způsob, než spustit <code>xrandr -q</code> vědět, zda je monitor připojen nebo ne.</em></li> </ul><p>ale buďte opatrní, protože se nejeví jiné způsoby. například se zdá, že <code>xrandr</code> tyto informace sdílí, takže moje plocha gnome by se automaticky přepnula na <code>xinerama</code> automaticky ... <strong>, když jsem běžel <code>xrandr</code> </strong>.</p><h3>některé dokumenty</h3><ul> <li> <a href="https://wiki.archlinux.org/index.php/xrandr#toggle\_external\_monitor">skript pro přepínání interního/externího displeje pro notebooky</a> </li> <li> <a href="http://www.x.org/docs/intel/hd/ihd\_os\_vol\_3\_part4\_bjs.pdf">®intel hd graphics opensource programmer's reference manual</a> </li> </ul> Tak Koupí novýho přijímače asi nic nezkazíš. Dobrý jsou všechny HD postavený na Linuxu. Mezi nimi bude jeden z lepších asi tenhle [parabola.cz/...](http://www.parabola.cz/clanky/4496/dreambox-dm7020-hd-luxusni-hd-pvr-satelitni-prijimac/) ale je otázka, zdali se vložený prostředky vrátí. Pro někoho jo, pro někoho ne. Já mám HD-Box, jsem spokojenej a byl za půlku. ceny Dreamboxu.

Výběr satelitů je převelikej a vybírat si můžeš dlouho. Tak si vyber ten kterej se ti líbí a se kterým se ti dobře pracuje. <p>v plánech provádění byste se neměli příliš spoléhat na procenta nákladů. jedná se o <em> vždy odhadované náklady</em>, a to i v plánech po provedení s „skutečnými“ čísly pro věci, jako je počet řádků. odhadované náklady jsou založeny na modelu, který funguje velmi dobře pro účel, pro který je určen: umožnění optimalizátoru zvolit mezi různými plány provádění kandidátů pro stejný dotaz. informace o nákladech jsou zajímavé a faktor, který je třeba zvážit, ale zřídka by měla být primární metrikou pro ladění dotazů. interpretace informací plánu provádění vyžaduje širší pohled na prezentovaná data.</p><p><strong> itemtran clustered index seek operator </strong></p><p><img src="https://i.stack.imgur.com/lvet6.jpg" alt="itemtran clustered index seek"></p><p>tento operátor jsou skutečně dvě operace v jednom. nejprve operace vyhledávání indexu najde všechny řádky, které odpovídají predikátu <code>product\_code\_v42 = 'm10bolt'</code>, pak každý řádek použije zbytkový predikát <code>bit\_field\_v41 &amp; 4 = 0</code>. dochází k implicitní konverzi <code>bit\_field\_v41</code> z jejího základního typu (<code>tinyint</code> nebo <code>smallint</code>) na <code>integer</code>.</p><p>k převodu dochází, protože <a href="https://msdn.microsoft.com/en-us/library/ms174965.aspx">bitový operátor and</a> (&amp;) vyžaduje, aby oba operandy byly stejného typu. implicitní typ konstantní hodnoty '4' je celé číslo a <a href="https://msdn.microsoft.com/en-us/library/ms190309.aspx">pravidla priority datového typ</a> znamená, že je převedena hodnota pole <code>bit\_field\_v41</code> s nižší prioritou.</p><p>problém (jako je) se snadno opraví zápisem predikátu jako <code>bit\_field\_v41 &amp; convert(tinyint, 4) = 0</code> - což znamená, že konstantní hodnota má nižší prioritu a je převedena (během konstantního skládání) spíše než hodnota sloupce. pokud je <code>bit\_field\_v41</code> <code>tinyint</code>, nedojde k žádné konverzi. podobně lze použít funkci <code>convert(smallint, 4)</code>, pokud <code>bit\_field\_v41</code> je <code>smallint</code>. to znamená, že v tomto případě <em> převod není problém s výkonem</em>, ale stále je dobrým zvykem porovnávat typy a vyhýbat se implicitním převodům tam, kde je to možné.</p><p>hlavní část odhadovaných nákladů na toto hledání je až do velikosti základní tabulky. zatímco seskupený klíč indexu je sám o sobě poměrně úzký, velikost každého řádku je velká. definice tabulky není uvedena, ale pouze sloupce použité v pohledu přidávají významnou šířku řádku. protože seskupený index zahrnuje všechny sloupce, vzdálenost mezi seskupenými klíči indexu je šířka <em> řádek</em>, nikoli šířka <em> indexové klíče</em>. použití přípon přípon verzí v některých sloupcích naznačuje, že skutečná tabulka obsahuje ještě více sloupců pro předchozí verze.</p><p>když se podíváme na sloupce vyhledávání, zbytkového predikátu a výstupu, výkon tohoto operátora lze zkontrolovat izolovaně vytvořením ekvivalentního dotazu (<code>1 &lt;&gt; 2</code> je trik, který zabraňuje auto-parametrizaci, rozpor je odstraněn optimalizátorem a nezobrazí se v plánu dotazů):</p><pre><code>select it.booking\_no\_v32, it.qtycheckedout, it.qtyreturned, it.trans\_qty, it.trans\_type\_v41 from dbo.tblitemtran as it where 1 &lt;&gt; 2 and it.product\_code\_v42 = 'm10bolt' and it.bit\_field\_v41 &amp; convert(tinyint, 4) = 0; </code></pre><p>výkon tohoto dotazu se studenou datovou mezipamětí je zajímavý, protože čtení (forward) by bylo ovlivněno fragmentací tabulky (seskupený index). klastrovací klíč pro tuto tabulku vyzývá k fragmentaci, takže by mohlo být důležité tento index pravidelně udržovat (reorganizovat nebo znovu sestavovat) a pomocí vhodného <code>fillfactor</code> umožnit místo pro nové řádky mezi okny údržby indexů.</p><p>provedl jsem test účinku fragmentace na čtení předem pomocí vzorových dat generovaných pomocí <a href="https://www.red-gate.com/products/sql-development/sql-data-generator/">sql data generator</a> . při použití stejného počtu řádků tabulky, jaké jsou uvedeny v plánu dotazů na otázku, vyústil vysoce fragmentovaný klastrovaný index do <code>select * from view</code> po 15 sekundách po <code>dbcc dropcleanbuffers</code>. stejný test za stejných podmínek s čerstvě obnoveným seskupeným indexem v tabulce itemtrans byl dokončen za 3 sekundy.</p><p>pokud jsou data tabulky obvykle zcela v mezipaměti, je problém fragmentace mnohem méně důležitý. ale i při nízké fragmentaci mohou široké řádky tabulky znamenat, že počet logických a fyzických čtení je mnohem vyšší, než by se dalo očekávat. můžete také experimentovat s přidáním a odebráním explicitního <code>convert</code>, abyste potvrdili mé očekávání, že implicitní problém s převodem zde není důležitý, s výjimkou porušení doporučených postupů.</p><p>více k tomuto bodu je odhadovaný počet řádků opouštějících operátora vyhledávání. odhad času optimalizace je 165 řádků, ale v době provedení bylo vyrobeno 4 226 kusů. k tomuto bodu se vracím později, ale hlavním důvodem nesrovnalosti je to, že selektivita zbytkového predikátu (zahrnující bitový-and) je pro optimalizátor velmi obtížná předvídat - ve skutečnosti se uchyluje k hádání.</p><p><strong> operátor filtru </strong></p><p><img src="https://i.stack.imgur.com/mayng.jpg" alt="filter operator"></p><p>zobrazuji zde predikát filtru většinou, abych ilustroval, jak jsou dva seznamy <code>not in</code> kombinovány, zjednodušeny a poté rozšířeny, a také poskytuji odkaz pro následující diskusi o hašovacích zápasech. testovací dotaz z požadavku lze rozšířit tak, aby zahrnoval jeho účinky a určoval vliv operátora filtru na výkon:</p><pre><code>select it.booking\_no\_v32, it.trans\_type\_v41, it.trans\_qty, it.qtyreturned, it.qtycheckedout from dbo.tblitemtran as it where it.product\_code\_v42 = 'm10bolt' and it.bit\_field\_v41 &amp; convert(tinyint, 4) = 0 and ( ( it.trans\_type\_v41 not in (2, 3, 6, 7, 18, 19, 20, 21, 12, 13, 22) and it.trans\_type\_v41 not in (6, 7) ) or ( it.trans\_type\_v41 not in (6, 7) ) or ( it.trans\_type\_v41 in (6, 7) and it.qtycheckedout = 0 ) or ( it.trans\_type\_v41 in (6, 7) and it.qtycheckedout &gt; 0 and it.trans\_qty - (it.qtycheckedout - it.qtyreturned) &gt; 0 ) ); </code></pre><p>operátor compute scalar v plánu definuje následující výraz (samotný výpočet je odložen, dokud není výsledek vyžadován pozdějším operátorem):</p><pre><code>[expr1016] = (trans\_qty - (qtycheckedout - qtyreturned)) </code></pre><p><strong> hash match operator </strong></p><p>provádění spojení na datových typech znaků není důvodem vysokých odhadovaných nákladů tohoto operátora. popis ssms zobrazuje pouze položku hash keys probe probe, ale důležité detaily jsou v okně ssms properties.</p><p>operátor hash match vytvoří hašovací tabulku s použitím hodnot ve sloupci <code>booking\_no\_v32</code> (build hash keys!) z tabulky itemtran a poté zkoumá shody pomocí sloupce <code>booking\_no</code> (hash keys probe) od tabulka rezervace. popisek ssms by také normálně zobrazoval zbytky sondy, ale text je příliš dlouhý na popis a je jednoduše vynechán.</p><p>rezidua sondy je podobná zbytku pozorovanému po hledání indexu dříve; zbytkový predikát je vyhodnocen na všech řádcích, které hash odpovídají, aby se určilo, zda by měl být řádek předán nadřazenému operátorovi. nalezení hash zápasů v dobře vyvážené hashovací tabulce je extrémně rychlé, ale použití komplexního zbytkového predikátu na každý řádek, který odpovídá, je při porovnání poměrně pomalé. popisek hash match v aplikaci plan explorer zobrazuje podrobnosti, včetně zbytkového výrazu probe:</p><p><img src="https://i.stack.imgur.com/c1nkp.jpg" alt="hash match operator"></p><p>zbytkový predikát je složitý a zahrnuje kontrolu stavu průběhu rezervace, když je sloupec k dispozici v tabulce rezervací. popisek také ukazuje stejný nesoulad mezi odhadovanými a skutečnými počty řádků viděnými dříve v hledání indexu. může se zdát podivné, že většina filtrování se provádí dvakrát, ale je to jen optimistický optimalizátor. neočekává, že části filtru, které lze posunout dolů ze zbytku sondy, odstraní všechny řádky (odhady počtu řádků jsou před a za filtrem stejné), ale optimalizátor ví, že by to mohlo být špatné. pravděpodobnost brzkého filtrování řádků (snížení nákladů na spojení hash) stojí za malou cenu extra filtru. celý filtr nelze posunout dolů, protože obsahuje test na sloupci z tabulky rezervací, ale většinou to může být. úplný test je stále vyžadován v testu zbytkové hodnoty hash pro správnost.</p><p>podceňování počtu řádků je problém pro operátora hash match, protože množství paměti rezervované pro hashovací tabulku je založeno na odhadovaném počtu řádků. pokud je paměť příliš malá pro velikost hashovací tabulky požadované v době běhu (kvůli většímu počtu řádků), hashova tabulka <strong> rekurzivně rozlévá </strong> na fyzickou <em> tempdb</em> úložiště, což často vede k velmi slabému výkonu. v nejhorším případě prováděcí motor zastaví rekurzivní rozlití hashovacích kbelíků a uchytí se k algoritmu <em> velmi pomalý</em> rozlití hash (rekurzivní nebo záchranná opatření) je nejpravděpodobnější příčinou problémů s výkonem nastíněných v otázce (nikoli sloupců spojení typu nebo implicitních konverzí). hlavní příčinou by byl server rezervující příliš málo paměti pro dotaz na základě nesprávného odhadu počtu řádků (kardinality).</p><p>je smutné, že před sql server 2012 není v plánu provádění naznačeno, že operace hašování překročila přidělení paměti (které nemůže být dynamicky růst po rezervování před spuštěním spuštění, i když má server velké množství volné paměti) a musela se přelít do tempdb. je možné monitorovat <a href="https://msdn.microsoft.com/en-us/library/ms190736.aspx">hash warning event class</a> pomocí profiler, ale může být obtížné korelovat varování s konkrétním dotazem.</p><p><strong> oprava problémů </strong></p><p>těmito třemi problémy jsou fragmentace, zbytková složka sondy v operátorovi hašovací shody a nesprávný odhad mohutnosti vyplývající z hádání při hledání indexu.</p><p><strong> doporučené řešení </strong></p><p>zkontrolujte fragmentaci a v případě potřeby ji opravte, naplánujte údržbu tak, aby index zůstal přijatelně organizovaný. obvyklý způsob, jak opravit odhad kardinality, je poskytnout statistiku. v takovém případě optimalizátor potřebuje statistiku kombinace (<code>product\_code\_v42</code>, <code>bitfield\_v41 &amp; 4 = 0</code>). nemůžeme vytvořit statistiky výrazu přímo, takže musíme nejprve vytvořit vypočítaný sloupec pro výraz bitového pole a poté vytvořit manuální statistiku více sloupců:</p><pre><code>alter table dbo.tblitemtran add bit3 as bit\_field\_v41 &amp; convert(tinyint, 4); create statistics [stats dbo.itemtran (product\_code\_v42, bit3)] on dbo.tblitemtran (product\_code\_v42, bit3); </code></pre><p>definice vypočteného sloupcového textu se musí přesně shodovat s textem v definici pohledu, aby se statistika mohla použít, takže by se mělo korigovat zobrazení, aby se vyloučila implicitní konverze, a současně by se mělo dbát na to, aby byla zajištěna shoda textu.</p><p>statistiky ve více sloupcích by měly vést k mnohem lepším odhadům, což výrazně snižuje pravděpodobnost, že operátor hashovací metody použije rekurzivní rozlití nebo algoritmus výpomoci. přidání vypočítaného sloupce (což je operace pouze s metadaty a nezabere žádné místo v tabulce, protože není označeno <code>persisted</code>) a statistika více sloupců je můj nejlepší odhad při prvním řešení.</p><p>při řešení problémů s výkonem dotazů je důležité měřit věci jako uplynulý čas, využití procesoru, logická čtení, fyzická čtení, typy čekání a doby trvání atd. atd. může být také užitečné spustit části dotazu samostatně pro ověření podezření na příčiny, jak je uvedeno výše.</p><p>v některých prostředích, kde není nejdůležitější pohled na data, může být užitečné spustit proces na pozadí, který zhmotňuje celý pohled do tabulky snímků každou tak často. tato tabulka je pouze normální základní tabulka a lze ji indexovat pro čtení dotazů, aniž byste se museli starat o dopad na výkon aktualizace.</p><p><strong> zobrazit indexování </strong></p><p>nenechte se v pokušení přímo indexovat původní pohled. výkon čtení bude úžasně rychlý (jediné hledání v pohledu indexu), ale (v tomto případě) budou všechny problémy s výkonem ve stávajících plánech dotazů přeneseny do dotazů, které upravují všechny sloupce tabulky, na které se v pohledu odkazuje. dotazy, které mění řádky základní tabulky, budou skutečně ovlivněny velmi špatně.</p><p><strong> pokročilé řešení s částečným indexovaným pohledem </strong></p><p>pro tento konkrétní dotaz existuje částečné řešení indexovaného pohledu, které opravuje odhady kardinality a odstraňuje zbytky filtru a sondy, ale je založeno na některých předpokladech o datech (většinou můj odhad na schématu) a vyžaduje odbornou implementaci, zejména pokud jde o vhodné indexy pro podporu plánů údržby indexovaných pohledů. sdílím níže uvedený kód pro zájem, nenavrhuji, abyste jej implementovali bez <em> velmi opatrní</em> analýzy a testování.</p><pre><code>-- indexed view to optimize the main view create view dbo.v1 with schemabinding as select it.id, it.product\_code\_v42, it.trans\_type\_v41, it.booking\_no\_v32, it.trans\_qty, it.qtyreturned, it.qtycheckedout, it.qtyreserved, it.bit\_field\_v41, it.prep\_on, it.from\_locn, it.trans\_to\_locn, it.pdate, it.firstdate, it.ptimeh, it.ptimem, it.retndate, it.bookdate, it.timebookedh, it.timebookedm, it.timebookeds, it.del\_time\_hour, it.del\_time\_min, it.return\_to\_locn, it.return\_time\_hour, it.return\_time\_min, it.assignto, it.assigntype, it.inrack from dbo.tblitemtran as it join dbo.tblbookings as tb on tb.booking\_no = it.booking\_no\_v32 where ( it.trans\_type\_v41 not in (2, 3, 7, 18, 19, 20, 21, 12, 13, 22) and it.trans\_type\_v41 not in (6, 7) and it.bit\_field\_v41 &amp; convert(tinyint, 4) = 0 ) or ( it.trans\_type\_v41 not in (6, 7) and it.bit\_field\_v41 &amp; convert(tinyint, 4) = 0 and tb.bookingprogressstatus = 1 ) or ( it.trans\_type\_v41 in (6, 7) and it.bit\_field\_v41 &amp; convert(tinyint, 4) = 0 and it.qtycheckedout = 0 ) or ( it.trans\_type\_v41 in (6, 7) and it.bit\_field\_v41 &amp; convert(tinyint, 4) = 0 and it.qtycheckedout &gt; 0 and it.trans\_qty - (it.qtycheckedout - it.qtyreturned) &gt; 0 ); go create unique clustered index cuq on dbo.v1 (product\_code\_v42, id); go </code></pre><p>existující pohled se vyladil, aby používal indexované zobrazení výše:</p><pre><code>create view [dbo].[vwreallyslowview2] as select i.booking\_no\_v32 as bkno, i.trans\_type\_v41 as trantype, b.assigned\_to\_v61 as assignbk, b.order\_date as dateo, b.hourbooked as hbooked, b.minbooked as mbooked, b.secbooked as sbooked, i.prep\_on as pon, i.from\_locn as flocn, i.trans\_to\_locn as ttlocn, case i.prep\_on when 'y' then i.pdate else i.firstdate end as prdate, i.ptimeh as prtimeh, i.ptimem as prtimem, case when i.retndate &lt; i.firstdate then i.firstdate else i.retndate end as rdatev, i.bit\_field\_v41 as bitfield, i.firstdate as fdatev, i.bookdate as dbooked, i.timebookedh as tbookh, i.timebookedm as tbookm, i.timebookeds as tbooks, i.del\_time\_hour as dth, i.del\_time\_min as dtm, i.return\_to\_locn as rtlocn, i.return\_time\_hour as rth, i.return\_time\_min as rtm, case when i.trans\_type\_v41 in (6, 7) and i.trans\_qty &lt; i.qtycheckedout then 0 when i.trans\_type\_v41 in (6, 7) and i.trans\_qty &gt;= i.qtycheckedout then i.trans\_qty - i.qtycheckedout else i.trans\_qty end as trqty, case when i.trans\_type\_v41 in (6, 7) then 0 else i.qtycheckedout end as myqtycheckedout, case when i.trans\_type\_v41 in (6, 7) then 0 else i.qtyreturned end as retqty, i.id, b.bookingprogressstatus as bkprog, i.product\_code\_v42, i.return\_to\_locn, i.assignto, i.assigntype, i.qtyreserved, b.deprepon, case b.deprepon when 1 then b.deprepdatetime else i.retndate end as deprepdatetime, i.inrack from dbo.v1 as i with (noexpand) join dbo.tblbookings as b on b.booking\_no = i.booking\_no\_v32 join dbo.tblinvmas as m on i.product\_code\_v42 = m.product\_code; </code></pre><p>příklad dotazu a plán provedení:</p><pre><code>select vrsv.* from dbo.vwreallyslowview2 as vrsv where vrsv.product\_code\_v42 = 'm10bolt'; </code></pre><p><img src="https://i.stack.imgur.com/vg5cz.jpg" alt="new execution plan"></p><p>v novém plánu má hash shoda <em> žádný zbytkový predikát</em>, existuje <em> žádný složitý filtr</em>, <em> žádný zbytkový predikát</em> zapnuto hledat indexované zobrazení a <em> odhady kardinality</em> jsou přesně správné.</p><p>jako příklad toho, jak by byly ovlivněny plány vložení/aktualizace/odstranění, je to plán vložení do tabulky itemtrans:</p><p><img src="https://i.stack.imgur.com/kffk5.jpg" alt="insert plan"></p><p>zvýrazněná část je nová a vyžaduje se pro údržbu indexovaného pohledu. cívka tabulky nahradí vložené řádky základních tabulek pro údržbu indexovaného pohledu. každý řádek je spojen s tabulkou rezervací pomocí hledání seskupeného indexu, poté filtr použije složité predikáty klauzule <code>where</code>, aby se zjistilo, zda je třeba řádek přidat do pohledu. pokud ano, provede se vložení do seskupeného indexu pohledu.</p><p>stejný test <code>select * from view</code> provedený dříve byl dokončen za 150 ms s indexovaným pohledem na místě.</p><p>poslední věc: všiml jsem si, že váš server 2008 r2 je stále v rtm. neopraví to vaše problémy s výkonem, ale <a href="https://www.microsoft.com/en-us/download/details.aspx?id=30437">service pack 2 pro 2008 r2</a> je k dispozici od července 2012 a existuje mnoho dobrých důvodů, jak udržet co nejaktuálnější s aktualizacemi service pack.</p> Dobrý den,   

i v případě, že prodávající není podnikatel, ale spotřebitel jako Vy, má povinnost plnit bez vad a s vlastnostmi vymíněnými nebo obvyklými tak, aby bylo možné věc použít podle účelu smlouvy. Prodávající kupujícímu odpovídá za to, že zboží je v dohodnutém množství, jakosti a provedení nebo alespoň v obvyklém. Vadným plněním je i dodání zcela jiné věci, neupozornění kupujícího na vady, o kterých prodávající ví, jakož i nepravdivé ujištění o vlastnostech věci.   

Povinností kupujícího je věc si co nejdříve prohlédnout a zjištěnou vadu prodávajícímu bez zbytečného odkladu oznámit. Pokud totiž není vada oznámena včas, kupující ztrácí právo od smlouvy odstoupit a navíc mu soud jiné uplatněné právo nepřizná, namítne-li prodávající pozdní oznámení.   

Práva kupujícího se liší podle toho, zda vada představuje porušení smlouvy podstatným či nepodstatným způsobem. Podstatné je takové porušení povinnosti, o němž již při uzavření smlouvy prodávající věděl nebo musel vědět, že by kupující smlouvu neuzavřel, pokud by toto porušení předvídal.   

  

Ve Vašem případě by se skutečnost, že učebnice a pracovní sešit je vyplněn propiskou namísto tužky dalo brát jako podstatné porušení smlouvy, neboť vyplněné knihy již nelze např. při studiu použít. Při podstatném porušení máte jako kupující nárok na odstranění vady dodáním nové bezvadné věci, dodáním chybějící věci nebo opravo věci. Stejně tak máte právo na přiměřenou slevu z kupní ceny nebo právo odstoupit od smlouvy. Zvolené právo, které budete po prodávajícím uplatňovat, musíte uvést v reklamaci.   

Doporučuji Vám vyzvat nejlépe písemně prodávajícího (učinit reklamaci) a upozornit ho na vzniklou vadu a zároveň se rozhodnout, co budete po prodávajícím požadovat (slevu z kupní ceny, odstoupit od smlouvy a vrátit kupní cenu). Vzhledem k tomu, že jste však prodávajícího nevyzval bez zbytečného odkladu, může se stát, že rozhodnete-li se pro odstoupení od smlouvy, nebude prodávající tento požadavek s ohledem na ust. § 2111 NOZ akceptovat. [**Každý chce kancelářský kontejner, který se nepřevrátí**](/rada/12993626-kazdy-chce-kancelarsky-kontejner-ktery-se-neprevrati.html)


Při nákupu kontejneru sledujte nejen celkovou kvalitu provedení, ale i stabilitu konstrukce. Ať už naplno… [**Jaké doplňky si můžete dokoupit ke svému novému dřezu?**](/rada/12993787-jake-doplnky-si-muzete-dokoupit-ke-svemu-novemu-drezu.html)


Dřez vám bude k ničemu bez správné baterie. Její design volte takový, aby se tvarem a materiálem hodila… <h1>řešení ubuntu/linux</h1><h2>1. získejte nejnovější obrázek</h2><p>měli byste to udělat s <a href="https://launchpad.net/ubuntu/+source/testdrive">testdrive</a> <a href="http://apt.ubuntu.com/p/testdrive"><img src="https://hostmar.co/software-small" alt="install testdrive"></a> .</p><p><img src="https://i.stack.imgur.com/rj1n8.png" alt="testdrive"></p><p><strong> poznámka. </strong> pokud je váš klíč menší než 4,4 gb (pro ubuntu 11.04 (natty narwhal)), musíte <strong> musíte </strong> získat alternativní instalační program. pokud je na disku méně než 4,4 gb volného místa, instalační program desktop odmítne pokračovat.</p><h2>2. naformátujte disk usb.</h2><p>to je důležité, pokud již máte na disku něco, co vypadá jako instalace systému linux, nebo se instalační program z nějakého důvodu nebude chtít dotknout tohoto disku. dříve jsem selhal, protože jsem tento krok neprovedl, takže přeskočte na vlastní nebezpečí! potřebujete klíč o velikosti alespoň 3 gb.</p><p>můžete tak učinit z <em> systému </em> → <em> administrace </em> → <em> nástroj disk </em>. vyberte cílový klíč usb, odpojte všechny oddíly a vyberte <em> formátovat jednotku. </em></p><p><img src="https://i.stack.imgur.com/wnna7.png" alt="disk utility"></p><p>než budete moci formátovat disk, musíte se ujistit, že jste vybrali „don't partition“.</p><p><img src="https://i.stack.imgur.com/gkwf2.png" alt="format drive window."></p><h2>3. spusťte virtuální počítač na klíči usb</h2><p>ujistil jsem se (s <code>file</code>), že můj usb klíč byl v <code>/dev/sdb</code>, pak běžel:</p><pre><code>sudo qemu-system-x86\_64 /dev/sdb -cdrom ~/.cache/testdrive/iso/ubuntu\_natty-desktop-i386.iso </code></pre><p>... chcete-li nainstalovat iso i386 na ploše natty narwhal - název souboru se bude lišit, pokud stáhnete jiný obrázek iso.</p><p>podrobnosti zvoleného virtualizačního řešení se budou lišit, ale jako pevný disk vm budete chtít použít soubor zařízení <em> vašeho klíče usb </em>.</p><p>připojit <code>-boot order=d</code> k příkazu kvm, aby byl spouštěn z obrazu v případě, že se pokusí zavést systém z 'pevného disku' a selže, protože tam nemůže najít operační systém.</p><h2>4. instalujte normálně.</h2><p>v tuto chvíli pracujete na virtuálním počítači, který považuje váš klíč usb za jediný připojený pevný disk. zevnitř okna „qemu“ nainstalujte, jak byste normálně dělali.</p><p>několik poznámek:</p><ul> <li> <p><strong> dělení diskových oddílů </strong> nepoužívejte automatický systém dělení diskových oddílů, protože na vašem usb klíči vytvoří odkládací oddíl. to není dobré, protože přepínání se stává <em> super </em> pomalým (systém s dlouhými sekundami zamrzne) a rychle zabíjí život vašeho disku. jednoduše přidělte jeden oddíl pro <code>/</code>. pokud používáte alternativní instalační program, nezapomeňte nastavit příznak <code>noatime</code>, aby se dále snížilo množství zápisů na disk.</p> </li> <li> <p><strong> aktualizace </strong> přeskočte možnost automatického stahování a instalace aktualizací. není zaručeno, že repozitáře budou v době spuštění instalačního programu v konzistentním stavu. osobně bych raději spravoval upgrady ručně pomocí nástroje, jako je <a href="https://help.ubuntu.com/8.04/serverguide/c/aptitude.html">aptitude</a> (který se ve výchozím nastavení s ubuntu již nedodává).</p> </li> <li> <p><strong> alpha-kvalitní software. </strong> věci jsou trochu zvratné - je to nakonec software v alfa kvalitě. nechal jsem <code>dpkg</code> opouštět s chybovým kódem 1, aniž bych musel chybu zkontrolovat - v důsledku toho však nebyly rozbity žádné balíčky. po nastavení jsem se pokusil virtuální počítač vypnout, ale visel. po restartu se však systém zavedl dobře.</p> </li> </ul><h2>5. restartujte a spusťte do své kopie ubuntu</h2><p>možná bude nutné, abyste si osvojili nastavení systému bios, abyste to mohli provést.</p><hr><p>pěkná (nebo nepříjemná věc na základě vašeho případu použití) o ubuntu na usb je, že až příště obnoví grub, také detekuje a přidá do seznamu jádra a operační systémy na hdd. to by vám mělo umožnit zavedení přímo na váš hdd z grub vašeho usb klíče.</p> <p>máte dobrý popis toho, jak smart pracuje na <a href="http://en.wikipedia.org/wiki/s.m.a.r.t.">wikipedia</a> . ale rychlé úvod:</p><ul> <li> <p>hodnota: jedná se o hrubou hodnotu, kterou hlásí řadič. obvykle je to snadno srozumitelná hodnota (jako je napájení v hodinách nebo teplota), ale někdy tomu tak není (jako četnost chyb při čtení). různí výrobci mohou pro tato data použít různé struktury a významy.</p> </li> <li> <p>normalized: toto je výše uvedená normalizovaná hodnota, takže vyšší hodnota je vždy lepší. míra čtení/chyb 114 je tedy lepší než 113. opět platí, že váš pevný disk převádí nezpracovaná data na normalizovanou hodnotu.</p> </li> <li> <p>nejhorší: nejhorší <em> normalizovaná </em> hodnota, kterou měl váš disk v minulosti (kde 99 je pravděpodobně tovární nastavení).</p> </li> <li> <p>prahová hodnota: když je <em> normalizovaná </em> hodnota <em> nižší </em> než tato hodnota, jednotka je pravděpodobně selže.</p> </li> </ul><p>zdá se tedy, že váš pevný disk je v pořádku. hodnota četnosti chyb při čtení není časem selhání jednotky, ale některé strukturou dat, která závisí na výrobci disku.</p>