ورود

View Full Version : نحوه جستجو در حجم بالای اطلاعات



Delphi7_love
جمعه 29 بهمن 1389, 08:13 صبح
من یه جدول با 20 تا فیلد که حدود سی هزار رکورد داره و در حال افزایشه دارم

وبا 6 جدول دیگه در ارتباطه . وقتی ازش کوئری میگیرم چیزی حدود 30 ثانیه طول میکشه
آیا روش بهتری برای جستجو هست ؟
با تشکر

vcldeveloper
جمعه 29 بهمن 1389, 11:16 صبح
30 هزار رکورد تعداد زیادی برای یک موتور بانک اطلاعاتی نیست. اگر طراحی جدول ها و ایندکس ها را به درستی انجام داده باشید، و کوئری هایتان هم به درستی و به صورت بهینه نوشته شده باشند، نباید مشکل سرعت داشته باشید.


آیا روش بهتری برای جستجو هست ؟
شما روشی را ذکر نکردید که ما بتونیم بگیم آیا بهتر از آن هم هست یا نه. شما میگید کوئری گرفتید، خب به هزار و یک روش میشه کوئری گرفت، ما چطور بدونیم آیا بهتر از کوئری شما هم هست یا نه؟!

firststep
جمعه 29 بهمن 1389, 13:08 عصر
با عرض ادب

دوست عزیز ایا شما معیار ها یی که باعث افزایش سرعت در گرفتن کوری بوسیله ابزار ado میشه رو دز نظر هم میگیرین برای مثال یکی ازون معیارها که من متوجه شدم رو میتونین توی پست زیر مطالعه بفرمایید

http://barnamenevis.org/showthread.php?84171 (http://barnamenevis.org/showthread.php?84171-%28%D9%85%D9%82%D8%A7%D9%84%D9%87%29-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AE%D8%B5%D9%88%D8%B5%DB%8C%D8%A7%D8%AA-Recordset-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%D8%B3%D8%B1%D8%B9%D8%AA)

موفق باشین:لبخندساده:

Delphi7_love
شنبه 30 بهمن 1389, 21:22 عصر
30 هزار رکورد تعداد زیادی برای یک موتور بانک اطلاعاتی نیست. اگر طراحی جدول ها و ایندکس ها را به درستی انجام داده باشید، و کوئری هایتان هم به درستی و به صورت بهینه نوشته شده باشند، نباید مشکل سرعت داشته باشید.


شما روشی را ذکر نکردید که ما بتونیم بگیم آیا بهتر از آن هم هست یا نه. شما میگید کوئری گرفتید، خب به هزار و یک روش میشه کوئری گرفت، ما چطور بدونیم آیا بهتر از کوئری شما هم هست یا نه؟!

من به شکل معمولی اطلاعات رو select میکنم به عنوان مثال :


بوسیله adoquery

SELECT dvizit.id, dvizit.name_bimar, dvizit.cod_pezeshk, dpezeshk.pname, dvizit.nobat, dvizit.saat, dvizit.tar
FROM dvizit INNER JOIN dpezeshk ON dvizit.cod_pezeshk = dpezeshk.pid;