Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Něco navíc v zeleném?
A proč ne...

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Archiv klubu Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
   
[ 414 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
al3x 17.11.2005 01:48  229
Tak jsem se v tom mysql hodne spletl.

when selecting a single random row you have to use a query like this: SELECT ... FROM my_table ORDER BY RAND() LIMIT 1.
as explain shows, mysql optimizes this VERY badly (or may be better said, doens't optimize it at all): it uses an temporary table and an extra filesort.

Hloupy je, ze moc lepsich metod jsem nenasel. :(
king King Born to be king - ... 16.11.2005 22:57  228
tak to nekdo zkuste, proc se hadat, kdyz to jde zjistit... ;)
nema MySQL neco jako explain plan?
mach 16.11.2005 22:32  227
Niximor: zajimavy, diky
knedle: To mi na moji otazku neodpovedelo - to, ze tam ten clovek tvrdi, ze to je efektivni, jeste neznamena, ze to je pravda (chtelo by to nejake zduvodneni, treba ze je MySQL pronikave inteligentni, pochopi, ze se jedna o nahodny radek a nebude se obtezovat s razenim). Tedy: efektivni to urcite je z hlediska velikosti kodu a z hlediska poctu SQL dotazu. Ale to nejdulezitejsi je cas.
AL3X: Tak v tom pripade je MySQL opravdu inteligentni - vic nez jsem myslel.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 16.11.2005 09:42  226
knedlejo, presne tam jsem to uz podruhe nasel "c)
niximor 15.11.2005 19:38  225
mach [222]: Imho by stacilo znat celkovy pocet radku a pak pomoci LIMIT random,1
al3x 15.11.2005 14:06  224
mach [219]: Rekl bych, ze to neefektivni nebude. Takovyhle veci se vetsinou resi uz pri semanticky analyze dotazu, takze bych hadal, ze - ac se to tvari, ze to funguje podle tvyho popisu - vnitrni implementace bude mnohem jednodussi.
knedle knedle online - Krabice živých 15.11.2005 13:28  223
nahodny-vyber-dat-z-mysql
mach 15.11.2005 00:14  222
Niximor: Myslis tak, ze si do skriptu nataham vsechny radky tabulky do nejakyho pole a pak si jeden vyberu (IMHO taky pomaly) nebo ze si v tom programu nahodne zvolim id nejakyho radku (to zase vyzaduje, aby to bylo indexovany po sobe a ty jsi znal minimum a maximum).
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 14.11.2005 22:16  221
no, nasel jsem to na strankach, kde to nekdo strasne chvalil...
me to teda pri mysch peti radcich asi nerozhazi...
niximor 14.11.2005 21:57  220
Nebylo by lepsi to resit az na strane scriptu/programu?
mach 14.11.2005 21:53  219
A me by v souvislosti s timhle zajimalo, jestli to neni priserne neefektivni. Takhle IMHO databaze vezme vsechny radky, priradi jim hodnoty, seradi je a vybere prvni. Kdyz by umela proste nahodne vybrat jeden prvek, bylo by to o dost rychlejsi, ne?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 14.11.2005 14:38  218
rušim, poradil google, já vim že jsem to už někde našel, říkal si že se to hodí a zase zapoměl...
SELECT nazev FROM tab ORDER BY rand() LIMIT 1
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 14.11.2005 14:31  217
už to tu myslim bylo ale nenašel jsem, jak najít v mysql náhodně nějakej řádek? stačí mi jeden...
knedle knedle online - Krabice živých 9.11.2005 10:58  216
jak v access vyhodit nahodny vyber zaznamu? nejak mi to nejde...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 2.11.2005 23:19  215
phpadmin to 100pro ma vcelku sofistikovany... posle ti to dokonce treba rovnou zipnuty k sobe...

[ 414 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt