PDA

View Full Version : سرعت ايجاد ديتاتيبل به صورت پويا



mehdis2
دوشنبه 24 آبان 1389, 21:35 عصر
سلام به همه دوستان خسته نباشيد

من يه جدول دارم كه 100 تا فيلد داره اگه در زمان لود يه ديتاتيبل ايجاد كنم و مثلا 10 تا فيلدي كه نياز باشه رو بگيرم و بريزم داخلش بهتره يا داخل ديتاستم كل جدولو بيارم و راحتم باهاش كار كنمو ستون هاي كه نميخوامو visible شو false كنم:متفکر:

hakelberfin
دوشنبه 24 آبان 1389, 23:05 عصر
سلام دوست عزیز
به نظر من روش دوم بهتره. مخصوصا در شبکه ترافیکش کمتره.سرعت پرکردن DataTable خیلی سریعتر از اتصال به سرور بانک اطلاعاتی است.
شما میتونین کل دیتابیس تون رو با تمام جداولش و ارتباط شون در یه Dataset بریزید و در طول برنامه استفاده کنید. یعنی یه بانک اطلاعاتی مجازی بسازید

FastCode
سه شنبه 25 آبان 1389, 06:15 صبح
بین یک و دو, یک سریعتره ولی روش سوم درسته.
جدولتون رو درست کنید.
اگر ممکنه در بخش sql خودتون بگید مشکل جدولتون چیه تا دوستان در بخش sql بهتون بگن باید چکار کنید.

mehdis2
سه شنبه 25 آبان 1389, 19:43 عصر
مرسي الان اومدم چندتا فيلديو كه هر بار ميخوام نمايش ميدم ولي داخل ديتاست همون 100 تاا فيلد هست و ستون هاي از گريدو كه نميخوام نمايش نميدم بنظرتون اگه براي هر با بيام يه ديتاتيبل ايجاد كنم با ستون هاي مشخص و بريزم داخلش بهتر نيست و اينكه جدول هاي داخل ديتاتيبل چه موقع ايجاد ميشه ؟(با هر بار اجراي دستور يا فقط در لود صفحه)

FastCode
چهارشنبه 26 آبان 1389, 10:33 صبح
مرسي الان اومدم چندتا فيلديو كه هر بار ميخوام نمايش ميدم ولي داخل ديتاست همون 100 تاا فيلد هست و ستون هاي از گريدو كه نميخوام نمايش نميدم بنظرتون اگه براي هر با بيام يه ديتاتيبل ايجاد كنم با ستون هاي مشخص و بريزم داخلش بهتر نيست و اينكه جدول هاي داخل ديتاتيبل چه موقع ايجاد ميشه ؟(با هر بار اجراي دستور يا فقط در لود صفحه)

من نتونستم بفهمم چی نوشتی خیلی جملات پیچیده بود ولی چیزی که من میدونم اینه که ایجاد یک table از یک stronglytypedtable کمتر منابع مصرف میکنه ولی باید حواستون باشه که Addrange توی DataTable.Columns خیلی سریعتره.


نکته:
من 2 ساله با DataTable کار نکردم و ممکنه اسمها رو اشتباه نوشته باشم.

mehdis2
یک شنبه 30 آبان 1389, 18:23 عصر
مرسي
ببخشيد بد نوشته بودم.

يعني اين 100 تا ستون datatable سرعتو زياد پايين نمياره آينده؟
جدولهاي كه داخل ديتاست هست (با ديزاين ساخته شده) در زمان لود صفحه ايجاد ميشه و من هر بار اطلاعاتمو داخلش لود ميكنم بنظرتون اگه ديتاتيبلو پويا با هر بار يه جدول بسازم سرعت پايين نمياد؟

FastCode
یک شنبه 30 آبان 1389, 20:16 عصر
مرسي
ببخشيد بد نوشته بودم.

يعني اين 100 تا ستون datatable سرعتو زياد پايين نمياره آينده؟
جدولهاي كه داخل ديتاست هست (با ديزاين ساخته شده) در زمان لود صفحه ايجاد ميشه و من هر بار اطلاعاتمو داخلش لود ميكنم بنظرتون اگه ديتاتيبلو پويا با هر بار يه جدول بسازم سرعت پايين نمياد؟
100 تا ستون سرعت رو به شکل عجیبی پایین میاره.
مهم نیست چطوری ساخنه میشه.مهم منظور شما از کلمه پویاست.
کلمه پویا میتونه دلالت بکنه بر lazy loading در تولید یک instance جدول.
بر اضافه کردن ستون در مواقع مورد نیاز.
بر گرفتن همه اطلاعات مورد نیاز در یک datatable و فیلتر کردن آن.
و چیزهای بسیار دیگه که ساختار برنامه شما در تعریفشون تاثیر داره.