PDA

View Full Version : انتخاب n رکورد با بیشترین سرعت از بانک mysql



a5l73i
سه شنبه 28 اردیبهشت 1389, 17:26 عصر
با سلام خدمت دوستان
اولا من سرچ کردم ولی مطلبی که جواب منو بده نبود به همین خاطر این موضوع رو بیان کردم.
ثانیا
برای انتخاب n رکورد بصورت تصادفی میشه از دستور
select * from table order by rand () limit n
استفاده کرد ولی می دونید که سرعت خوبی برای بانک های حجیم نداره.
من از کوئری زیر استفاده کردم.
SELECT * FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM
`table` ) ORDER BY id LIMIT 42;
حالا موضوع اینه که این دستور تعداد 42 ردیف خروجی رو بصورت تصادفی نشان نمی ده .
ممنون می شم اگه اطلاعات کاملتری رو به من بدید.

a5l73i
سه شنبه 28 اردیبهشت 1389, 17:36 عصر
کسی نیست جواب بده

a5l73i
سه شنبه 28 اردیبهشت 1389, 17:49 عصر
دوستان کسی آنلاین نیست .:ناراحت:

a5l73i
سه شنبه 28 اردیبهشت 1389, 19:35 عصر
آقا کسی نیست کمک کنه
:عصبانی++:
:گریه:

Evil-dark
یک شنبه 02 خرداد 1389, 11:01 صبح
سلام دوست عزیز
اگه میشه کمی بیشتر توضیحح بدین.
در sql کلا با منطق سر و کار داریم.
نمی فهمم منظورتون در مورد تصادفی چیه.
اگه برگشته چند رکورد بین بیشمار رکورده باید یه فیلد اولویت بندی یا عنوان بندی داشته باشین.
اگه توضیح میدادین که چه کاربردی داری شاید میشد جواب بهتری داد.