PDA

View Full Version : سرعت لود اطلاعات از دیتابیس accdb اکسس نسبت به نسخه قدیم mdb



samiasoft
سه شنبه 30 خرداد 1396, 15:40 عصر
سلام دوستان

من در یک دیتابیس حدود 3 هزار رکورد دارم که میخوام همشو یکجا در دیتاگرید نمایش بدم. (حالا کاری نداریم این همه رکورد را نباید نمایش داد یا تقسیم کرد.)


مشکلی که وجود داره این هستش که اگر فرمت دیتابیس اکسس بصورت mdb باشه یعنی نسخه قدیمی ، در این حالت هنگام لود با سرعت خیلی زیادی اطلاعات وارد دیتاگرید میشوند.(در حدود 1 ثانیه)

اما وقتی دیتابیس رو به نسخه جدیدتر اکسس یعنی accdb تغییر میدم و برنامه رو لود میکنم حدود 25 ثانیه زمان میبره تا اطلاعات وارد دیتاگرید شوند.


به نظرتون دلیل کاهش سرعت در دیتابیس جدید چی هستش؟

//کانکشن اکسس نسخه قدیم data.mdb

OleDbConnection connect = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "/data.mdb");




//کانکشن اکسس نسخه جدید data.accdb


//OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "/data.accdb");




string strsql;
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet ds = new DataSet();


connect.Open();
strsql = "select numer,idnumber from Table2 ";
da = new OleDbDataAdapter(strsql, connect);
da.Fill(ds, "Table2");
DataGridView1.DataSource = ds.Tables["Table2"];
connect.Close();




پروژه رو هم ضمیمه کردم ممنون میشوم یه نگاهی کنید.


من اینطور برداشت میکنم که Microsoft.Jet سرعتش از Microsoft.ACE خیلی بالاتره. ولی Microsoft.Jet نسخه جدید اکسس رو ساپرت نمیکنه!

336699
چهارشنبه 31 خرداد 1396, 20:56 عصر
سلام

کدها که ظاهرا مشکلی ندارن

هر دو روش را تست کردم ، هر دو در کمتر از 1 ثانیه لود شدن. (آفیس 2013)

شاید مشکل از ورژن آفیس باشه :متفکر:

samiasoft
چهارشنبه 31 خرداد 1396, 23:48 عصر
سلام

کدها که ظاهرا مشکلی ندارن

هر دو روش را تست کردم ، هر دو در کمتر از 1 ثانیه لود شدن. (آفیس 2013)

شاید مشکل از ورژن آفیس باشه :متفکر:

حق با شماست من تو ویندوز ایکس پی امتحانش کردم هردو زود لود شدن....اما نمیدونم چرا تو این سیستم خودم تا کلیک میکنی یه خورده زمان میبره تا لود بشه.

دوستان احتمالا نمیدید مشکل از کجا باشه؟

پس برای همه تفاوتی نداشت سرعت لود ؟