برای پرس و جو کدام روش بهتر است : Filter-Query-Parameters

1Program

Member
سلام برهمه دوستان :
شما حتما با هرسه این روشها آشنایید . با این حال من در مورد هر کدام کمی توضیح می دهم تا محاسن و معایب هر یک را دریابیم . امیدوارم مطلب ارزنده ای باشد .

Filter : خاصیت فیلتر در جداول باعث می شود تا قسمتی از اطلاعات ذخیره ظاهر شود . ولی در حقیقت کل آنها در حافظه اصلی موجودند .
بزرگترین حسن فیلتر کردن سهولت استفاده از آن در کدنویسی است .
مثال :
Table1.Filtered :=False;
Table1.Filter:='ID>1024' ;
Table1.Filtered:=True;
از معایب آن استفاده از چند جدول در آن مقدور نیست . برای فایلهای بزرگ بسیار کند و نامطمئن عمل می کند .

Query : شما با استفاده از پرس و جوها می توانید کلیه نیازهای خود را با استفاده از SQl برطرف سازید .
محاسن : شما می توانید به راحتی با View , Index ,... کار کنید همزمان از چندین جدول با رکوردهای متعدد Query بگیرید و...
معایب : اگر از برنامه های Client/Server استفاده می کنید می بینید که سربار روی سرور بسیار زیاد است .
شما برای هر Transaction ای مجبورید Queryخود را به سرور بفرستید و اطلاعات حاصل را دریافت کنید که موجب ترافیک در شبکه شما می شود .

Parameters : با ساتفاده از این خاصیت شما دیگر کل Query خود را در شبکه به سمت سرور نمی فرستید بلکه ، Query در سرور ذخیره می شود (Store Procedure) و شما فقط مقادیر (Parameters ) را به سرور می فرستید .
بر روی سرور پارامترها به Query اضافه شده (همانند آرگومانها در توابع) و Query اجرا می شود .

بزرگترین عیب پارامترها کدنویسی پیچیده تر نسبت به Query معمولی و اینکه شما یک بار Query را می نویسید و فقط مقادیر قابل تعویض هستند .

-------------------------------------
اگر متن غلط املایی دارد به بزرگواری خودتان ببخشید چون خیلی سریع تایپ کردم.
لطفا صاحب نظران ادامه دهند .
 

MnavidM

Active Member
سلام.

والا در مورد اینکه کدوم یک بهتر هست ، باید گفت که بسته به نیاز و خواسته ما هست مثلا اگر سرعت مد نظرمون باشه

روش سوم یعنی Store Procedure بهترین انتخاب هست ، اگر آزادی بیان در نوشتن درخواست و سرعت مناسب مد نظرمون باشه از روش دوم SQL می تونیم استفاده کنبم.

و اگر یک سری فیلتر گذاری کوچیک بخواهیم انجام بدیم بهتره که زیاد به سرور فشار نیایم و از روش اول ، یعنی filter استفاده کنیم.

موفق باشید.
نوید.
 

جدیدترین ارسال ها

بالا