Yii Framework Forum: سوال در مورد مفاهیم اکتیو رکورد - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

سوال در مورد مفاهیم اکتیو رکورد

#1 User is offline   Manee 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 103
  • Joined: 23-September 12

Posted 28 September 2012 - 01:40 AM


سلام دوستان این اکتیو رکورد همون no sql منظور هست یا نه یه چیز دیگست؟

0

#2 User is offline   Nabi 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 208
  • Joined: 22-February 12
  • Location:Ahwaz

Posted 28 September 2012 - 07:51 PM

سلام،
راستش تا اونجا که سواد من قد میده noSQL ‏(not only sql به معنای نه تنها اس‌کیوال) یه نوع RDBMS مثل mySQL, MSSQL, Oracel و ... است و هیچ ارتباطی به الگوی ActiveRecord که به نوعی دسترسی شیء گرا به دیتابیس است، ندارد.
http://en.wikipedia.org/wiki/NoSQL
http://en.wikipedia...._record_pattern
تشکر



وقتی پیغام میذارید، بی زحمت متنتون رو انتخاب کنید و این دو تا کار ناقابل رو هم انجام بدید:
1. از اون بالا RTL رو انتخاب کنید.
2. فونت رو هم Tahoma بگذارید.
که چشمون در نیاد.
دمت گرم!

www.IranPHP.ir
2

#3 User is offline   Manee 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 103
  • Joined: 23-September 12

Posted 28 September 2012 - 11:29 PM


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


0

#4 User is offline   Hesam K 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 128
  • Joined: 14-August 11

Posted 30 September 2012 - 03:11 PM


سلام،
پرفورمنس این نوع دسترسی بالاتر نیست، پایین تر هم هست، اما این به دلیل طیف وسیع امکاناتی هست که در اختیار میگذاره.
برای نیازهای معمول، این افزایش حجم پردازش مشکلی ایجاد نمیکنه و مزایای این روش غالب هست. اما اگر جایی محدودیت خاصی دارید یا پرفورمنس اولویت داره، مثل پیاده سازی جستجوی سایت، میتونید از query builder استفاده کنید که سرعت خیلی بیشتری داره و البته به نسبت امکانات و آسانی استفاده کمتر

0

#5 User is offline   Nabi 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 208
  • Joined: 22-February 12
  • Location:Ahwaz

Posted 30 September 2012 - 03:58 PM

View PostHesam Khaki, on 30 September 2012 - 03:11 PM, said:


سلام،
پرفورمنس این نوع دسترسی بالاتر نیست، پایین تر هم هست، اما این به دلیل طیف وسیع امکاناتی هست که در اختیار میگذاره.


با قابلیت criteria که در اختیار میگذاره، تقریباً پیچیده تریم حالت ها رو میشه پیاده کرد آیا دلیل یا مثال بارزی دارید که دلیل بر پایین بودن کارایی اون هست؟


وقتی پیغام میذارید، بی زحمت متنتون رو انتخاب کنید و این دو تا کار ناقابل رو هم انجام بدید:
1. از اون بالا RTL رو انتخاب کنید.
2. فونت رو هم Tahoma بگذارید.
که چشمون در نیاد.
دمت گرم!

www.IranPHP.ir
0

#6 User is offline   Hesam K 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 128
  • Joined: 14-August 11

Posted 30 September 2012 - 04:50 PM


View PostNabi, on 30 September 2012 - 03:58 PM, said:

با قابلیت criteria که در اختیار میگذاره، تقریباً پیچیده تریم حالت ها رو میشه پیاده کرد آیا دلیل یا مثال بارزی دارید که دلیل بر پایین بودن کارایی اون هست؟



بله، برای استفاده خیلی خوب و با قابلیت هست
در رابطه با کارایی چند تا مطلب خونده بودم که الان به یکیش لینک میدم، میگه:

Quote

Do not overuse Active Record. Although Active Record is good at modelling data in an OOP fashion, it actually degrades performance due to the fact that it needs to create one or several objects to represent each row of query result. For data intensive applications, using DAO or database APIs at lower level could be a better choice.


قضیه وقتی خودش رو نشون میده که شما چند صد یا چند هزار رکورد رو از دیتابیس بخوای بخونی، مثل اتفاقی که تو جستجوی سایت یا گزارش گیری های خاص میفته. در اون حالت اکتیو رکورد میتونه موجب افت کارایی شه. من سر همین قضیه تو یه پروژه مجبور شدم با Query Builder جستجو رو پیاده کنم. در مقایسه با هم، در مواقعی که تعداد رکوردهای جواب زیاد بود، سرعت Query Builder تا ۵ برابر اکتیو رکورد هم میشه، که با توجه به ساختار داخلی اکتیو رکورد منطقی هم هست.
البته یک سری روش های cache کردن هم وجود داره که خیلی کارایی اکتیو رکورد رو بهبود میده، اما من تابحال استفاده نکردم

در کل اما جز برخی مواقع و جاهایی که کارایی اولویت اول هست، دلیلی برای استفاده نکردن ازش وجود نداره

1

#7 User is offline   Manee 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 103
  • Joined: 23-September 12

Posted 30 September 2012 - 04:58 PM


ممنون از راهنماییهاتون.حالا کودوم یکیش بازدهی بالا رو داره و بشه راحت ازش استفاده کرد؟
البته ناگفته نمونه که اموزشهای خوب دررابده با هر چیزی مثمر ثمرتر خواهد بود.


0

#8 User is offline   Hesam K 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 128
  • Joined: 14-August 11

Posted 30 September 2012 - 05:08 PM

View PostManee, on 30 September 2012 - 04:58 PM, said:


ممنون از راهنماییهاتون.حالا کودوم یکیش بازدهی بالا رو داره و بشه راحت ازش استفاده کرد؟
البته ناگفته نمونه که اموزشهای خوب دررابده با هر چیزی مثمر ثمرتر خواهد بود.






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

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users