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

Když diskuse,
tak s Lopuchem

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ší>  
huh huh 23.11.2005 00:26  236
tvx [233]: odstranit mezery lze treba pomoci fce REPLACE(); vyhledat podretezec umi treba funkce INSTR() nebo LOCATE(); nepises co za db, tak predpokladam mysql
al3x 22.11.2005 19:14  235
Bredy [234]: To klidne nakonec muzes opakovat 10x, pokud je to pouzivana tabulka na (insert/delete), pokud bude prazdna a zase to zvlast neosetris, tak se zacyklis. Proste dost osklivy reseni.
bredy 22.11.2005 17:43  234
huhTo není problém. V nejhorším ten select vrátí 0 záznamů, což znamená, že musím posloupnost dotazů opakovat.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 22.11.2005 16:36  233
1. kterak nějak ideálně selektovat na jednocharovej substring? nic jinýho než like asi neni, co?

2. kterak ze stringovýho pole kde je nějaký finanční numero s mezerama mezi tisíci a miliony, numero udělat? neni třeba nějaká vestavěná funkce na vyházení mezer z řetězce?
kdokoliv Kdokoliv Nevidím důvod dělat cokoliv bezdůvodně. - http://kkl2401.wz.cz 20.11.2005 11:24  232
Nevim, jak v mysql, ale aspon v Oraclu je rozhodne lepsi select count(sloupecek), kde sloupecek je takovej, pres kterej ma ta tabulka index. Bezi to rychlejc nez select count(*). Tezko rict proc a jestli to treba novejsi verze Oraclu uz neopravily, ale pred nejakejma dvema rokama jsme na to v jedny nemaly aplikaci narazili.
huh huh 20.11.2005 10:16  231
akorat, pokud se z ty tabulky i maze, tak to bud musi bejt v transakci nebo jinak rucne osetreny
bredy 20.11.2005 09:33  230
NiximorTohle používám já a nevídím v tom problém. Počet záznamů lze zjistit pomocí SELECT COUNT(*) FROM table který je prý hodně optimalizovaný (prostě vrátí počet záznamů v tabulce a nic nepočítá)
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).

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

(c) 2001-2011 Lopuch.cz   
Kontakt