برای لیست کردن دسته ها کدام راه بهتر است؟

majid65

New Member
سلام.
در پایگاه داده جدولی وجود داره که دسته ها درون قرار میگیرند.میان فیلدها فیلدی وجود دارد که اگر مقدار آن صفر بود یعنی دسته ، دسته مادر ندارد و اگر غیر آن بود آن مقدار میشود آیدی دسته مادر اون.
من میخوام بدین صورت دسته هارو نشون بدم :
دسته اصلی یک بعد زیر مجموعه هاش ( اگر زیرمجمعه باز زیرمجموعه داره اونها رو چاپ کنه بعد بره زیر مجموعه بعدی دسته اصلی )
دسته اصلی دو بعد زیر مجموعه هاش ( اگر زیرمجمعه باز زیرمجموعه داره اونها رو چاپ کنه بعد بره زیر مجموعه بعدی دسته اصلی )
دسته اصلی سه بعد زیر مجموعه هاش ( اگر زیرمجمعه باز زیرمجموعه داره اونها رو چاپ کنه بعد بره زیر مجموعه بعدی دسته اصلی )
اگه بهتر بگم شبیه چیزی که موقع پست زدن تو وردپرس میبینید.

دو تا راه بنظم میرسه کدوم بهتره یا اگه پیشنهادی دارید لطف کنید راهنماییم کنید:
1) اول دسته های اصلی رو بگیرم بعد از اولیش شروع کنم برم دوباره از تو بانک زیر مجموعه هاش رو بگیرم.و اگر زیر مجموعه ای ، زیرمجموعه داشت اونها رو هم دوباره از تو بانک بگیرم چاپ کنم و اینکارو تا انتها انجام بدم.
2) کل lمجموعه ها و زیر مجموعه ها رو یکجا از بانک بگیرم و تو حافظه که ریخته شد اونجا مدیریتش کنم و به روش بالا مرتب کنم.
فرق این دو در یک بار کوئری از بانک گرفتن و چند بار کوئری از بانک گرفتن بود.
حالا کدام راه پیشنهاد میشه که سرعت بهتر و فشار کمتر به بانک و منابع سیستم سرور بیاد؟

شاید تو نگاه اول مشکلی نباشه ولی در مراجعه های زیاد و افزایش بازید و حجم محتوی مشکلاتی رو بوجود میاره.و اینو تجربه کردیم.مخصوصا به پایگاه داده.
 
آخرین ویرایش:

Masoud1365

مدیر انجمن
یکی دیگه از روش هایی که میتونید استفاده کنید استفاده از بازه برای مجموعه ها و زیر مجموعه ها می باشد !
در این روش ممکن است زمانی که شما یک رکورد را به پایگاه داده وارد می کنید مجبور به ویرایش تعداد زیادی از رکوردهای قبلی شوید ( که البته می توانید کلاس آپدیت و ... کامل بنویسید که رفتار مودل را کنترل کنه ( در صورتی که از متدهای mvc استفاده می کنید ! ) ).
لینکهای زیر را هم مشاهده کنید مفید می باشند :
http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/
 

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

بالا