View Full Version : index گذاری روی رکوردها
solaleh
شنبه 14 شهریور 1388, 14:51 عصر
سلام دوستان
چگونه می توانیم بر روی رکوردها index بزنیم و سرعتش را افزایش دهیم؟
mic_r_c
یک شنبه 15 شهریور 1388, 16:49 عصر
سلام
مدل هایی در کتاب های ذخیره و بازیابی اطلاعات و پایگاههای داده است. می تونید از این کتابها استفاده کنید.
در حالت کلی دو مدل وجود دارد که میتونید ترکیب هم کنید.
1- تعداد رکورد های چند بخشی خیلی زیاد. مثلا یک دفترچه تلفن دارید که اسم و فامیل و شماره تلفن، فقط 3 میلیون نفر از دوستانتون رو توش وارد کردید.:لبخند:
حالا لازم نیست رکورد ها رو مرتب کنید، خیلی راحت، مثلا نام همه دوستانتون رو از پایگاه دریافت میکنید و اونها رو توی یک فایل مرتب می کنید، دیگه لازم نیست که شماره تلفن و فامیل رو مرتب کنید، جلوی هر نام هم شماره رکوردی که توی پایگاه داره رو درج کنید. از این به بعد فقط لازمه که با نام فرد، شماره تلفنش رو به دست بیارید. به این صورت که نام فرد را در فایل مرتب جستجو کنید، شماره رکوردی که جلوش درج شده رو دریافت کنید و بعد هم رکورد اصلی و کامل رو واکشی کنید. پس این مدل برای ایندکس کردن پایگاه های نا مرتبه.
2- مدل بعدی قضیه B-tree است که تا جایی که امکان داره و البته مفیده ایندکس ها رو کوچک میکنه، این روش میاد یک فایل مرتب رو به قطعاتی با تعداد خونه های مثلا 10 تایی تقسیم میکنه و اولین خونه از هر قسمت رو در یک فایل قرار میده، که البته خود به خود مرتبه، باز همین کار رو تا چند مرحله انجام میده و ........ .
این روش رو در سیستم هایی که یا اطلاعات ایندکس شده خیلی زیاده که توی حافظه جا نمیشه و یا در سیستم هایی که سرعت واکشی اطلاعات خیلی کمه، استفاده میکنند. مثلا PMD هم از همین قضیه استفاده کرده و سرعتش رو بالا برده. چون در J2ME هم فایل های بزرگتر از 400 - 500 کیلو تو حافظه جا نمیشن، مخصوصا اگر فارسی نویس داشته باشی، و هم سرعت واکشی خیلی پایینه.
البته روش اول همون چیزیه که شما میخوای، دومی به همین راحتی هم نیست و استفادش توی دیتابیس های خیلی بزرگه.
solaleh
سه شنبه 17 شهریور 1388, 14:20 عصر
از جواب شما ممنونم.
ولی من منظورم index گذاشتن روی رکوردها در RMS بود. ممنون میشم اگر در این مورد منو راهنمایی کنید.
hessamengineer
شنبه 25 مهر 1388, 15:07 عصر
من یه برنامه نوشتن که از طریق rms حدود 100000 داده دازه ولی تو مرحله آخر نمی تونه محاسبشون کنه.فکر کنم واسه حجم زیادشه چی کار می تونم بکنم
hessamengineer
شنبه 25 مهر 1388, 15:11 عصر
من یه برنامه نوشتن که از طریق rms حدود 100000 داده دازه ولی تو مرحله آخر نمی تونه محاسبشون کنه.فکر کنم واسه حجم زیادشه چی کار می تونم بکنم.بعد هم وارذ کرذنشو سخته می شه از طریق excel یه جوری داده هارو وارد کرد
mic_r_c
شنبه 25 مهر 1388, 18:13 عصر
سلام،
100000 داده داره یعنی چی؟
100000 بایت یعنی 100 کیلو بایت؟
100000 کلمه حد اقل 4 بایتی؟
وقتی تکلیفت رو با تعداده بایت ها روشن کردی بعد باید ببینی که این 100000 تا توی یک رکورد ریخته میشه یا توی چند رکورد!
ولی در حالت کلی در هر رکورد تقریبا میتونی تا 200 کیلو بریزی. نه اینکه نتونی بیشتر بریزی، منظورم از 200 کیلو اینه که موقع خوندنش هنگ نکنه!
در ضمن، در مرحله آخر، یعنی چی؟
:چشمک:
hessamengineer
شنبه 25 مهر 1388, 22:33 عصر
بذار سوالم یه جور دیگه مطرح کنم
من دانشجوی مهندسی مکانیک هستم و پروژه پایان تحصیلی دارم که طبق اون پروژه باید برنامه ای بنویسم که یه عدد بگیره و اطلاعات مربوط به اون عدد رو نمایش بده.برنامه باید عددی که بش داده می شه رو از بین 10000 تا عدد دیگه پیدا کنه و 10 تا خاصیتی که جلوی اون عدد نوشته شده نمایش بده.حالا می خواستم بدونم کلا index چجوری درست می کنند و یا روشی وجود داره که بشه این داده هارو از توی یه فایل excel بدون ساختن index بخونه و اطلاعاتو نمایش بده.
ممنون میشم اگه جوابمو سریعتر بدین.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.