PDA

View Full Version : سرعت کم در sql و دلفی



ali512
یک شنبه 09 اسفند 1383, 19:15 عصر
سلام
من از sql server برای پایگاه داده استفاده می کنم و با adoconection متصل می شم وقتی از adotable یا adoquary استفاده می کنم نمی دونم چطوری dbgrid یا جداول را رفرش کنم مجبورم open و close کنم که سرعت را پایین می یاه همچنین بهتره برای هر جدول یه adotable بزارم یا این که مرتیب جداول مختلف را به یه adotable ربط بدم ؟؟؟؟ تشکر از جوابهاتون

دنیای دلفی
یک شنبه 09 اسفند 1383, 21:44 عصر
امنیت بالا سرعت پایین خوب باید سخت افزار را یک مقداری ارتقا بدی .

:موفق:

vcldeveloper
یک شنبه 09 اسفند 1383, 23:47 عصر
می تونید اطلاعات رو دسته بندی کنید و هر بار فقط اطلاعاتی رو که نیاز دارید از سرور درخواست کنید.
مثلا اگه 10000 رکورد دارید. اطلاعات رو به 20 صفحه 500 تایی تقسیم کنید و با توجه به اینکه کاربر بر روی کدام رکورد قرار داره، فقط اطلاعات همان صفحه را درخواست کنید.
(در این زمینه قبلا دوستان زیادی بخصوص آقای ربیعی توضیحات کاملی دادند که با جستجو در سایت می تونید پیداشون کنید)

علاوه بر اون می تونید به ساختارهای Query های خودتون هم دقت کنید و حتی الامکان اونا رو به شکل ساده تری بنویسید.
استفاده از Stored Procedure ها و Prepared Query ها هم می تونه برای افزایش سرعت Query هایی که به دفعات استفاده میشند مفید باشه.

Touska
دوشنبه 10 اسفند 1383, 14:22 عصر
در سایت اگر جستجویی بزنی پیدا می کنی :flower:

ali512
دوشنبه 10 اسفند 1383, 17:20 عصر
سلام
متاسفانه چیزایی که می خواستم را پیدا نکردم
می شه بگید بالاخره برای این که table ها یا View ها رفرش شوند بجای open و close کردن از چه دستوراتی استفاده کنم ؟؟؟
تشکر بای

JavanSoft
سه شنبه 11 اسفند 1383, 13:45 عصر
0) از چه SQLServer استفاده می کنید ؟
1) آیا در SqlServer هم همین مشکل را دارید ؟
2) ارتباط شما با SqlServer از چه کامپوننتی استفاده می کند

دنیای دلفی
سه شنبه 11 اسفند 1383, 14:14 عصر
جواب 2) فکر کنم برای ارتباط با SQL از ADO استفاده کرده است .
:)

ali512
چهارشنبه 12 اسفند 1383, 18:00 عصر
با سلام
من از ADOCONECTION برای اتصال و از ADOQUARY و adotable استفاده می کنم و مشکلی که با stredprocedure داریم اینه که برای ذخیره فارسی حروف را به صورت علامت سوال ذخیره می نه البته در سرور . حالا اگه کسی بلده بگه چیکار کنم که سرعت بیشتر بشه و اینقدر هم open و close برای رفرش جداولم نکنم با تشکر بای ::نوشتن::

fm_mash
پنج شنبه 13 اسفند 1383, 11:32 صبح
سلام
برای اینکه sql server فونت را درست نشان بدهد باید موقعی که data base را درست کردی language اونو عربی انتخاب میکردی
حالا می تونی یک database دیگه بوجود بیاری سپس داده ها تو import کنی درست میشه
موفق باشی

JavanSoft
پنج شنبه 13 اسفند 1383, 15:24 عصر
مشکل CharSet را دوستمان درست می گویند .. اما برای ارتباط سریع از SDAC استفاده کنید

ali512
جمعه 14 اسفند 1383, 11:43 صبح
سلام
قسمت arabic را هنم انتخاب کردم ولی وقتی رو شبکه هست اشتباه می کنه . به هر حال فهلا مشکل سرعت کم را داریم . می شه بگید این SDAC چی هست و چطور استفاده می شه ؟

vcldeveloper
شنبه 15 اسفند 1383, 02:46 صبح
عنوان تاپیک "سرعت کم در sql و دلفی" هست. لطفا فقط در همین زمینه بحث کنید.
اگه سوالی در زمینه دیگری دارید، ابتدا از طریق بخش "جستجو" در سایت جستجو کنید، شاید قبلا جواب داده شده باشه. اگر جواب مورد نظر رو پیدا نکردید، یک تاپیک جدید درست کنید و سوالتون رو اونجا مطرح کنید.

ali512
شنبه 15 اسفند 1383, 13:15 عصر
با سلام
به هر حال کسی جواب من را نداد من باید برای هر جدول یک Table استفاده کنم یا اینکه از یک Adotable برای همه جداول استفاده کنم و مرتب Open و close کنم و برای سرعت کم چیکار کنم ؟ تشکر

JavanSoft
شنبه 15 اسفند 1383, 15:06 عصر
من باید برای هر جدول یک Table استفاده کنم
این کار درست است

hr110
شنبه 15 اسفند 1383, 15:12 عصر
با سلام
به هر حال کسی جواب من را نداد من باید برای هر جدول یک Table استفاده کنم یا اینکه از یک Adotable برای همه جداول استفاده کنم و مرتب Open و close کنم و برای سرعت کم چیکار کنم ؟ تشکر

تنها جداولی که میزان دسترسی به انها بسیار بالا است همیشه باید باز باشند و مابقی را هر زمان که نیاز داری باز کن، مطمئن باش که این مسئله تاثیری در سرعت نحواهد داشت.
موفق باشید

esi022
یک شنبه 16 اسفند 1383, 10:37 صبح
از query استفاده کن . سرعتش هم توپه.

ali512
یک شنبه 16 اسفند 1383, 11:42 صبح
با سلام
تشکر از جوابهاتون می دونم که سرعت Adoquary بیشتر ولی می شه دلیلش را هم بگید . ضمنا اگه چیزای دیگه ای هم هست که سرعت را بالا ببره لطفا بگید
با نتشکر

esi022
یک شنبه 16 اسفند 1383, 12:12 عصر
با اجازه اساتید :
کلا رابط ado بصورت packeage mdac در windows وجود دارد و سرعت بالاتری نسبت به dataset و ttable دارد و همچنین امکانات بیشتری چون از oledb می توانید استفاده کنید.
وقتی از table استفاده کنید - حتی adotable چون تمام رکوردهای یک جدول را میخواند مسلما دز تعداد رکورد بالا سرعت کم خواهد شد. اما با query میتوانید رکورد ها را محدود نمایید.
مسلما در اکثر موارد نیازی به تمام رکوردها ندارید. هر چفدر حرفه ای تر شوید query ها را بیشتر لمس می کنید . چون اطلا عاتی را که میخواهید retrieve ( بازیابی ) میکنید.
:موفق:

esi022
یک شنبه 16 اسفند 1383, 12:25 عصر
تازه صفحه یک رو دیدم :
برای مشکل فارسی : لازم نیست بانکو عربی کنی بلکه فیلد های حرفی بایدبا n شروع بشه : مثل nvarchar , ntext , .....
موقع save هم باید با N اونو save کنی و search , update کنی و مثل :
insert into table(field) values(N'text')
یعنی زنده باد unicode
البته دلفی unicode support نیست و باید از کامپوننتی مثل tnt استفاده کنی.

و اما سرعت : پیشنهاد میکنم برنامتو رو یه lan دیگه امتحان کنی . چون همه شبکه ها که درست پیاده نشدن!!!!
تو شرکت قبلی من یه کامپیوتر بود که کیسش (case ) مشکل داشت . باعث میشد بقیه pc ها هم مشکل داشته باشن.
برنامه های دیگه ای که رو سرور نصب هستن هن همینطور.
برنامتو n جا و با n سیستم و ویندوزهای مختلف تست کن ::نوشتن::

JavanSoft
دوشنبه 17 اسفند 1383, 15:05 عصر
در تستهای سرعت که در مقایسه ADO با SDAC داشتم متوجه چیز جالبی شدم و آن اینکه SDAC همیشه در اولین با سرعتی معادل ADo ارائه می کند اما در دفعات بعدی سرعت به مراتب بالاتر است