<div dir="ltr">Ano, tak nejak. <div>Kdyby clovek sel "na krev", tak ma v pameti vsechny hodnoty indexu (9M x 8 byte == 72M a casem narusta). Pokud tam bude "kazda tisici" hodnota jak pisete, tak nejdriv v pameti najdu interval a pak uz mam na prohledani na disku jen 1000 hodnot, coz je (pulenim intervalu) jen 10 cteni. V praxi jeste mene, protoze kazde cteni cte minimalne sektor tady minimalne 512 byte, coz je 9 zaznamu. Nektere disky pouzivaji tusim vetsi sektory.... S temito faktory jde pocitat (ale program to komplikuje)</div><div>Ale proste nejvic ziskate tim indexem (a nejmensimi naklady prace)</div><div>Marek</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-02-12 14:06 GMT+01:00 Martin Záruba <span dir="ltr"><<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ano, to by mohla bĂ˝t dobrá metoda. Vzorky jsou sice nepravidelnĂ©, ale zase to nenĂ­ tak hroznĂ©. Index v pamÄ›ti si pĹ™edstavujete tak, Ĺľe by to bylo pole, kde by byl napĹ™. kaĹľdĂ˝ tisĂ­cĂ­ index, takĹľe by slouĹľil "k hrubĂ©mu najetĂ­" na správnou pozici?<br>
<br>
Martin Záruba<br>
<br>
Dne 12.2.2015 v 13:46 Marek Sembol napsal(a):<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Predpokladam, ze v klic ma "hlucha mista" (nektere hodnoty jsou vynechany), jinak by to bylo prilis jednoduche:)<br>
No mozna by se algoritmu dalo pomoct "inteligentnejsim" delenim intervalu, ale nebude to pak plne deterministicke (vyjimecne se muze hledani i zhorsit), zalezi jak "rovnomerne" jsou rozlozene klice.<br>
Uvedu postup na prikladu. Mam treba 1000 zaznamu, prvni je 0, posledni 10000. Hledam cislo 1000. Hledam cislo v 1/10 meho rozsahu hodnot. Pokud budu vychazet z toho, ze klice jsou cca rovnomerne rozdelene, tak zkusim pokracovat v hledani ne na zaznamu 500 (polovina intervalu), ale zkusim zaznam rekneme 200 (ja vim, v desetine intervalu je 100, ale cim bliz k te 100 pujdu, tim vetsi je riziko, ze mi ne nevyjde a hledana hodnota bude v "nadpolovicnim" zbytku).<br>
<br>
No a jeste vic by samozrejme pomohlo (pokud to jde) drzet si v pameti nejaky index (cim vice bodu, tim mensi interval prohledavam)<br>
Marek<br>
<br></span>
2015-02-12 13:19 GMT+01:00 Martin Záruba <<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a> <mailto:<a href="mailto:swz@volny.cz" target="_blank">swz@volny.cz</a>>>:<span class=""><br>
<br>
  Â  Váhal jsem, zda mail oznaÄŤit OT:, ale jde o data z PLC, tak snad<br>
  Â  to sem patří.<br>
  Â  Mám soubor dat, kterĂ˝ se stále doplňuje daty, pĹ™eÄŤtenĂ˝mi z PLC. V<br>
  Â  souÄŤasnosti má cca 9 000 000 vÄ›t. KaĹľdá vÄ›ta má 8 byte klĂ­ÄŤ, podle<br>
  Â  kterĂ©ho je setřídÄ›n a 48 byte data, takĹľe na disku cca 480MB . Pro<br>
  Â  nalezenĂ­ potĹ™ebnĂ© vÄ›ty nynĂ­ používám pĹŻlenĂ­ intervalu. Existuje<br>
  Â  nÄ›jaká jiná efektivnÄ›jší forma hledánĂ­? NynĂ­ je na to tĹ™eba cca 24<br>
  Â  skokĹŻ.<br>
<br>
  Â  -- <br>
  Â  Martin Záruba<br>
<br>
  Â  ______________________________<u></u>_________________<br></span><span class="">
  Â  HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a> <<a href="http://www.HW.cz" target="_blank">http://www.HW.cz</a>><br>
  Â  <a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a> <mailto:<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>><br>
  Â  <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/<u></u>listinfo/hw-list</a><br>
<br>
<br>
<br>
<br></span><span class="">
______________________________<u></u>_________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/<u></u>listinfo/hw-list</a><br>
</span></blockquote><div class="HOEnZb"><div class="h5">
<br>
______________________________<u></u>_________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/<u></u>listinfo/hw-list</a><br>
</div></div></blockquote></div><br></div>