واضح آرشیو وب فارسی:سایت ریسک: سرعت برنامه من پايينه ؟ (Vb 6) amirnezhad 15 مرداد 1382, 18:50سلام اگه مي شه در مورد برنامه اي كه نوشتي بيشتر توضيح بده! 1) روي چه سيستم عاملي كار مي كنه؟ 2) از چه ورژني از Access استفاده مي كني؟ 3) ساختار كلي ديتابيس (Tableها و Fieldهاي هر Table) رو هم بگو اينقدر تا به حالا با اين Access (ببخشيد) مزخرف كار كردم كه ...، شايد بتونم كمكت كنم gootik 15 مرداد 1382, 19:33سلام اگه مي شه در مورد برنامه اي كه نوشتي بيشتر توضيح بده! 1) روي چه سيستم عاملي كار مي كنه؟ 2) از چه ورژني از Access استفاده مي كني؟ 3) ساختار كلي ديتابيس (Tableها و Fieldهاي هر Table) رو هم بگو اينقدر تا به حالا با اين Access (ببخشيد) مزخرف كار كردم كه ...، شايد بتونم كمكت كنم bale. agha shoma tozih bede barnamat chikar mikone ba access ? giahchin 18 مرداد 1382, 15:46سلام دوست عزيز، جواب سوالات شما: 1) windows 2) Microsot Access 97 عربي 3) جواب اين سوال طولاني به نظر مي رسه ولي به طور خلاصه در يك بانك تعداد 6 جدول دارم كه در يكي از آنها اطلاعات روزمره كاربر ذخيره ميشه و حجم بالايي هم داره و اطلاعات مابقي جداول تقريباٌ ثابت است . جدول اصلي شامل حدود 30 فيلد است كه اكثر آنها از نوع text هستند ولي فيلدهايي از نوع تاريخ يا عددي هم استفاده شده است. ضمناٌ يادآور مي شوم كه برنامه اصلي ام را در Visual Basic 6 نوشتم . مرسي :wink: amirnezhad 18 مرداد 1382, 23:22Microsot Access 97 عربي به عنوان اولين پيشنهاد مي خواستم بدونم كه آيا مي تونيد Database برنامه را از Access 97 به Access 2000 تبديل كنيد يا نه؟ در ضمن يكي ديگه از مواردي كه ممكنه باعث بشه سرعت برنامه شما كمي بهتر بشه استفده از دو تا فانكش RepairDatabase و CompactDatabase است. پيشنهاد مي كنم اين دو تافانكشن رو توي برنامه استفاده كني تا مثلا توي اولين اجراي برنامه در هر روز يك بار اجرا بشن و يكم از داده هاي اضافي يا اطلاعات خراب شده رو از بين ببرن! در ضمن منظور من از ساختار كلي ديتابيس (Tableها و Fieldهاي هر Table) در واقع مر بوط به همون Tableاي كه حجم اطلاعاتش زياده است و اگه لطف كني و بگي كه هر ركورد اين Table چه مقدار فضا اشغال مي كنه و همينطور تعداد ركوردهايي كه به طور متوسط توي هر روز اضافه مي شن چند تاست! شايد بتونم بيشتر كمكت كنم! amirnezhad 18 مرداد 1382, 23:25راستي يادم رفت بپرسم كه براي خوندن اطلاعات از برنامه از كد هاي برنامه نويسي استفاده مي كني يا از اشيايي مانند: DATA ؟ و اينكه آيا اطلاعات Tableها در هنگام خوندن با هم Join ميشن يا نه؟ چون گاهي اوقات با يه كم دستكاري توي Join Query مي شه كلي سرعت اجراي Query رو بالا برد! giahchin 19 مرداد 1382, 15:29با سلام، در مورد پيشنهاد اول شما : من اين كار را كردم ولي ظاهراً Visual Basic 6 با بانكهاي Access 2000 سازگار نيست و خلاصه برنامه من اجرا نشد. در رابطه با استفاده از فانكشنهاي RepairDatabase و CompactDatabase به عرضتان مي رسانم كه در برنامه ام استفاده نكردم ولي هر از چندي درون Access اين عمل را بطور دستي روي بانكم انجام ميدم كه حجمش كمتر بشه . البته ممنون مي شم كه نحوه استفاده از اين فانكشنها را در VB 6 توضيح بدي كه بتونم در برنامه ام هم از اونها استفاده كنم. Table اصلي برنامه من شامل: 33 فيلد از نوع Text كه طول مجموع فيلدها 994 كاركتر ، 5 فيلد از نوع Boolean و 1 فيلد از نوع Date است. و اما سوال آخرتون : راستش من از هر دوحالت استفاده كردم يعني هم از ابزار Data و هم كدنويسي و ضمنا Table ها هم Join نميشند. با تشكر از همكاريتان هادي :wink: amirnezhad 20 مرداد 1382, 15:20سلام در مورد اينكه گفته بودي كه VB 6 با Access 2000 همخواني ندارد بايد خدمتت عرض كنم كه در واقع من هنوز هيچ راهي براي استفاده از DATA براي خواندن از يك فايل Access 2000 پيدا نكردم ولي بدون توجه ( و استفاده ) از اين شيي هم مي توني با استفاده از ADODB تمام مشكلات مربوط به استفاده از Access 2000 رو حل كني. ( در اين مورد من يك Document خيلي خوب داشتم ولي حالا نمي دونم هنوز هم دارمش يا! اگه پيداش كردم حتما برات ميلش مي كنم) در مورد اون دو تا فانكشن: روش استفاده از اونها به اين صورت است RepairDatabase(Name as String) CompactDatabase(SrcName as String,DstName as String,[DstLocale],[Options],[SrcLocale]) در مورد دستور اول همه چيز مشخصه فقط اينكه حتما بايد وقتي از اين دستور استفاده كني كه هيچ قسمتي از برنامه در حال استفاده از Database نباشد. ولي براي استفاده از دومي بايد از يه فايل ديگه به عنوان TEMP فايل استفاده كني (DstName) و بعد از اون، جاي اون رو با Database اصلي عوض كني! و در آخر هم اينكه ... با اين حجم اطلاعاتي كه تو داري واقعا سخته كه راهي پيشنهاد كرد. فقط مي تونم توصيه كنم كه: 1) بگرد ببين جايي توي برنامه هست كه بشه تعداد دفعات ارتباط با Database رو توش كم كرد؟ 2) ببين فرمي هست كه وقتي بسته ميشه هنوز هم با Database ارتباط داره يا نه (توي قسمتهايي كه از كدنويسي براي استفاده از بانك اطلاعاتي استفاده كردي) 3) ببين با استفاده از Index ها ميتوني سرعت رو بالا ببري يا نه؟ ( اگه موقع Search مشكل داري و از Index استفاده نمي كني فكر مي كنم با استفاده از Index سرعتت بيشتر بشه) يك سوال ديگه: برنامه از همون اول كه اجرا مي شه كنده يا بعد از اينكه يكم باهاش كار مي كني كند ميشه؟ قربانت :wink:
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 405]