Tema: Re: Pakonsultuokit apie MySQL
Autorius: Vytka
Data: 2010-07-20 09:42:24
PK turi buti kiekvienoje lentoje ir kiekvienam kas projektuoja lentas be PK 
reikia gerai su liniuote per nagus traukti :)


"GP" <gp@srautas.lt> wrote in message 
news:i1out6$gda$1@trimpas.omnitel.net...
> Indeksai turi prasme tik tuomet kai jie dalyvauja salygose, kitu atveju
> is ju jokios naudos. Tas pat galioja ir PK, jei tu netikrini where
> PKstulpas = smth ar panasiai tai PK gali ir nebuti.
>
> VaidasB wrote:
>> Nori pasakyt, kad indexas ant Primary key neturi prasmės? nes visi
>> įrašai skirtingi?
>> Aš kaip tik manau, kad kuo duomenys skirtingesni tuo indexas logiškiau
>> veikia, nes nereikia knistis po vienodus duomenis, o ieško jau
>> tvarkingai sudėliotus.
>>
>> On 2010.07.15 17:29, Jornada Del Muerto wrote:
>>>      Siaip siaip jei time ten datetime su laiku ir sekundem ir visi
>>> skirtingi tai nebus beprasmiska ? as tokia beda MSSQL turejau tai
>>> computed column kuriau be laiko ir poto index pagal ja, nors nezinau
>>> ar as taip daug islosiau performance... vat kad leistu db indexuot
>>> daly lauko.. pvz tik data be laiko...
>>>
>>>      P.S. Neesu didelis indexavimo specas, tai cia daugiau klausimas
>>> nei teiginys.
>>>
>>> "Audrys"<oginiekienoreikalaskokiadeze@takas.lt>  wrote in message
>>> news:i1n5u5$1sa$1@trimpas.omnitel.net...
>>>> pradziai tai
>>>>
>>>> CREATE INDEX koks_nors_indekso_vardas ON teiblo_vardas
>>>> (priority,start_time);
>>>>
>>>> "NicMC"<nic@nic.lt>  wrote in message
>>>> news:i1musg$ogj$1@trimpas.omnitel.net...
>>>>> Sveiki,
>>>>>
>>>>> Pribrendo reikalas kažkiek optimizuoti duombazę, nes jau pradeda
>>>>> kabintis
>>>>> į resursus. Taigi, turiu dvi lenteles po kelis laukus kiekvienoj.
>>>>> Nuotoliniai taškai ima po vieną įrašą, trina iš vienos lentelės,
>>>>> apdoroja
>>>>> ir krauna į kitą lentelę. Duomenys nedideli - pora varcharų (10 ir 200
>>>>> ilgio) ir pora intų. Kadangi įrašų smarkiai padaugėjo (iki 400k pirmoj
>>>>> lentoj ir 1,2kk apdorotų duomenų lentoj) paprasti selektai "select *
>>>>> from
>>>>> table order by priority ASC, start_time ASC LIMIT 1" pradeda gruzint 
>>>>> tą
>>>>> duombazę, CPU pradeda valgyt 50-100% (CPU ne stebuklas beje). Ką
>>>>> pasiūlytumėt pakeisti, kad kažkiek optimizuoti darbą? Išsiselektint
>>>>> viską,
>>>>> susortint ir sudėt atgal su griežta numeracija? Prikurt partitionų?
>>>>> Key'jų?
>>>>> Selectinti daugiau duomenų ir cachinti lokaliai - ne išeitis, tikrai
>>>>> reikia kad imtų po vieną eilutę, t.y. kad kitas nutolęs taškas gautų
>>>>> tiksliai sekančią eilutę. Tam tie nutolę taškai lokina teiblą. Gal
>>>>> dar ir
>>>>> čia problema?
>>>>> Kol kas neieškojau performanco stabdžių, tiesą sakant nelabai ir žinau
>>>>> kaip tą padaryt apart programinės įrangos modifikacijų ir stebėjimo
>>>>> rezultatų...
>>>>
>>>>
>
>
> -- 
> GP