خوارزمية الشعبية - SQL / Django
-
21-09-2019 - |
سؤال
لقد كنت أبحث في خوارزميات شعبية تستخدم في مواقع مثل رديت, Digg وحتى Stackoverflow.
خوارزمية رديت:
t = (time of entry post) - (Dec 8, 2005)
x = upvotes - downvotes
y = {1 if x > 0, 0 if x = 0, -1 if x < 0)
z = {1 if x < 0, otherwise x}
log(z) + (y * t)/45000
لقد قمت دائمًا بأداء طلب بسيط داخل SQL ، أتساءل كيف يجب أن أتعامل مع مثل هذا الطلب.
إذا تم استخدامه لتحديد جدول ، أو هل يمكنني إنشاء SQL مع الطلب داخل الصيغة (دون إعاقة الأداء)?
أنا أتساءل أيضًا ، إذا كان من الممكن استخدام خوارزميات طلب متعددة في مناسبات مختلفة ، دون تكبد مشاكل في الأداء.
أنا أستخدم Django و PostgreSQL.
المساعدة ستكون موضع تقدير كبير! ^^
المحلول
يجب عليك ذاكرة التخزين المؤقت لتقييم شعبيتك في عمود خاص وتحديثه عندما تتغير القيم الأساسية. يجب عليك أيضًا إعداد فهرس قاعدة البيانات على هذا العمود. إذا قمت أيضًا بتخزين نتيجة استفساراتك الأكثر شيوعًا ، فقد اتخذت أكثر التدابير فعالية لأداء استفسارات شعبية.
لا تنتمي إلى StackOverflow