के लिए सबसे अच्छा अभ्यास मैं एक PHP एप पर काम कर रहा हूं जिसमें कई ऑब्जेक्ट्स हैं जिन पर टिप्पणी की जा सकती है। प्रत्येक टिप्पणी को वोट दिया जा सकता है, उपयोगकर्ता इसे +1 या -1 (जैसे डिग या रेडडिट) देने में सक्षम हैं। अभी मैं एक 'वोट' टेबल रखने की योजना बना रहा हूं जिसमें उपयोगकर्ता_आईडी और उनकी वोट जानकारी है, जो ठीक काम करने लगती है।टिप्पणी मतदान डेटाबेस संरचना
बात यह है कि प्रत्येक ऑब्जेक्ट में सैकड़ों टिप्पणियां होती हैं जो एक अलग टिप्पणी तालिका में संग्रहीत होती हैं। टिप्पणियों को लोड करने के बाद, मुझे वोटों का मिलान करना पड़ता है और फिर व्यक्तिगत रूप से उपयोगकर्ता के खिलाफ प्रत्येक वोट की जांच करने के लिए यह सुनिश्चित करने के लिए कि वे केवल एक बार मतदान कर सकें। यह काम करता है लेकिन वास्तव में डेटाबेस गहन लगता है - केवल टिप्पणियों के लिए बहुत सारे प्रश्न।
क्या ऐसा करने का एक आसान तरीका है जो कम डीबी गहन है? क्या मेरा वर्तमान डेटाबेस संरचना जाने का सबसे अच्छा तरीका है?
टिप्पणियाँ तालिका:
- user_id
- object_id
- TOTAL_VOTES
वोट तालिका:
वर्तमान डेटाबेस संरचना के बारे में स्पष्ट होना करने के लिए
- comment_id
- user_id
- वोट
अंत लक्ष्य:
- उपयोगकर्ता प्रत्येक टिप्पणी कम से कम के साथ # MySQL क्वेरी पर केवल एक बार वोट करने के लिए अनुमति दें (प्रत्येक वस्तु कई टिप्पणियां हैं)
इससे वास्तव में बहुत मदद मिलती है, धन्यवाद! दो प्राथमिक कुंजी रखने के बारे में सोचा था कि मेरे दिमाग को भी पार नहीं किया गया .. – mdolon