PDA

View Full Version : سوال: رکوردهای تصادفی غیر تکراری



rash44
سه شنبه 12 دی 1391, 15:23 عصر
سلام
با این کوئری رکوردهای به دست اومده تا چه حد ممکنه تکراری باشه ؟


SELECT * FROM `table` ORDER BY rand()


روش بهتری وجود داره ؟

Unique
سه شنبه 12 دی 1391, 15:36 عصر
بسته به تعداد رکورد ها داره ، اگه مثلا 1 میلیون رکورد باشه بعید میدونم خیلی اتفاق بیفته اما 100 تا رکورد زیاد اتفاق میفته ! اما برای 1 میلیون رکورد این query اصلا خوب نیست (سرعتش فاجعه میشه) و برای رکورد های کم خوبه ! در کل چیزی که تصادفی هستش چه اهمیتی داره تکراری داشته باشه چون تصادفه دیگه !

rash44
سه شنبه 12 دی 1391, 15:51 عصر
با این کوئری میخوام 1 سری سوالات امتحانی بصورت آنلاین ( آزمون آنلاین ) نمایش بدم که سوالات نباید تکراری باشه

hidensoft
سه شنبه 12 دی 1391, 22:57 عصر
با این کوئری رکوردهای به دست اومده تا چه حد ممکنه تکراری باشه ؟
۰.۰۰۰٪ امکان داره داده تکراری برگردونه. چون همونطور که در کوئری میبینید فقط چیدمان رکورد ها بصورت اتفاقی تعیین می‌شه. پس هیچ رکوردی ۲ بار سلکت نمی شه توی این کوئری.

همونطور که دوستمون گفت برای دیتابیس های سنگین این روش پیشنهاد نمی شه اما اگر در حدی هست که شما می خوای بین ۱۰۰ تا سوال ۲۰ تا رو اتفاقی انتخاب کنی همین روش پاسخ گوی شما هست. در مورد دیتابیس هایی با حجم بیشتر ۱ گیگ باید یه سری کارای دیگه انجام داد که فکر نکنم اینجا نیاز باشه.