o dar galima sukurti atskira duombaze, kur sukisam visas galimas XXXX kombinacijas sukuriam 3 indeksus ir leidziam naudoti... On 02/08/2011 02:48 PM, Jornada Del Muerto wrote: > O kudel gi ne, siaip gal dzipa siulyciau, tankas per daug demesio sukeltu, nors ir domiuosi ginklais :) esme tik kad kaip ir if sake, nepasakyta koks SQL, o LIKE bus praktiskai visur, kaip sakant jei vyksta stringo karpymas jis darosi kitaip skirtinguose sql... > > Kita vertus galima aisku cia teoriju prigalvot, net optimizuojanciu paieska, pvz. > > 1. Gaunam stringa XXXX-XXXX-XXXX; > 2. Irasome i duomenu lenta; > 3. Tada splitinam per '-' simboli i atskirus XXXX elementus, juos itraukiam i sekancia lenta jei neegzistuoja dar jie joje, jeigu egzistuoja einame prie 4 punkto, jeigu ne itraukiame ir einame prie 4 punkto: > > TABLE search_values ( value_id PK, value<unique index> ) > > 4. Fiksuojame search_refs lentoje atitinkamu splitintu XXXX reiksmiu value_id ir duomenu lentos iraso id. > > TABLE search_refs ( id PK, value_id<index>, ref_id - duomenu lentos iraso id aka duomenu_lentos_id ) > > 5. Paieska tampa trivialia: > > SELECT > d.* > FROM > search_values sv > INNER JOIN > search_refs sr On sr.value_id = sv.value_id > INNER JOIN > duomenu_lenta d On d.duomenu_lentos_id = sr.ref_id > WHERE > sv.value = 'XXXX' > > Vualia ;) 2 lentom daugiau, taciau elementarus selectas viska graziai istraukia ;) toks principas naudojamas paiesku indeksavimams. > > > Sekmes! > > Freelancer Developer > www.lythum.lt - new design / tiesa dariau pats, o neesu designeriu :)