mahak_f
سه شنبه 21 آذر 1385, 23:59 عصر
میخوام که تو بهینه کردن الگوریتم برنامه بهم کمک کنین.
در قسمتی از برنامم باید یک سری اطلاعات رو (با فرمت txt ) از یه فایل text بخونم و بعد از decode کردن اونا رو در فیلدهای بانک مربوطه بریزم.برای مثال یه رشته از این داده ها به صورت :
$ED,134033,A,3116.5066,N,04850.3040,E,0.00,0.00,03 0905,0,18,1,0,0,*
به عنوان جداکننده فیلدها از هم از کاما استفاده شده. از اول رشته خوانده میشود و با توجه به تعداد کاماها (با استفاده از Switch case )اینکه قسمت خوانده شده کدام فیلد از داده های بانک است مشخص و دیکد میشود. برای decode بعضی بخشهای رشته باید توابع دیگری فراخوانی شوند (مثلا تبدیل تاریخ میلادی به شمسی ...) هر بخش رشته در متغیر مناسب قرار میگیرد و در نهایت داده های یک رشته همه با هم در یک ردیف جدول insert میشوند.
برای decode و وارد کردن 4 MG بایت از این فایل به بانک چیزی در حدود 3 ساعت زمان صرف میشود که عملا برنامه را بی استفاده میکند.
الگوریتم سریعتر برا این پروسه چی میتونه باشه؟
در قسمتی از برنامم باید یک سری اطلاعات رو (با فرمت txt ) از یه فایل text بخونم و بعد از decode کردن اونا رو در فیلدهای بانک مربوطه بریزم.برای مثال یه رشته از این داده ها به صورت :
$ED,134033,A,3116.5066,N,04850.3040,E,0.00,0.00,03 0905,0,18,1,0,0,*
به عنوان جداکننده فیلدها از هم از کاما استفاده شده. از اول رشته خوانده میشود و با توجه به تعداد کاماها (با استفاده از Switch case )اینکه قسمت خوانده شده کدام فیلد از داده های بانک است مشخص و دیکد میشود. برای decode بعضی بخشهای رشته باید توابع دیگری فراخوانی شوند (مثلا تبدیل تاریخ میلادی به شمسی ...) هر بخش رشته در متغیر مناسب قرار میگیرد و در نهایت داده های یک رشته همه با هم در یک ردیف جدول insert میشوند.
برای decode و وارد کردن 4 MG بایت از این فایل به بانک چیزی در حدود 3 ساعت زمان صرف میشود که عملا برنامه را بی استفاده میکند.
الگوریتم سریعتر برا این پروسه چی میتونه باشه؟