实现一个排行榜显示当前我的排行名次,还有我前5名和我后5名;数据量几十万,用mysql,按表里一个score字段排序,怎么sql才没有效率问题?
データ量は数十万です。mysql を使用してテーブルのスコア フィールドで並べ替えます。毎回チェックして吐き出すだけで十分です。 SQLクエリの効率化。 コールド データのパフォーマンスの問題を考慮する必要はありません。これはホット データだと思います。チェックには mysql を使用せず、redis を使用してください。SortedSet を使用すると簡単に実行できます。
この場合、効率の問題は SQL レベルでは解決できません
データをエクスポートし、プログラミング言語を使用してクイック ソート アルゴリズムを実装する SQL では、さまざまなソート アルゴリズムを効率的に実装して使用することはできません。
このトピックは興味深いですが、十分な質問がありますか?データ量が数十万あるため、スコアだけを並べ替えると、たとえスコアが数百万であっても、上位 5 名と下位 5 名がすべて同じスコアになる可能性があります。
たとえば、Tencent の現在のゲームはすべて友達のサークル内でランク付けされています。これは別の問題であり、非常に技術的です。
データ量は数十万です。mysql を使用してテーブルのスコア フィールドで並べ替えます。毎回チェックして吐き出すだけで十分です。 SQLクエリの効率化。
コールド データのパフォーマンスの問題を考慮する必要はありません。これはホット データだと思います。チェックには mysql を使用せず、redis を使用してください。SortedSet を使用すると簡単に実行できます。
この場合、効率の問題は SQL レベルでは解決できません
データをエクスポートし、プログラミング言語を使用してクイック ソート アルゴリズムを実装する SQL では、さまざまなソート アルゴリズムを効率的に実装して使用することはできません。
このトピックは興味深いですが、十分な質問がありますか?データ量が数十万あるため、スコアだけを並べ替えると、たとえスコアが数百万であっても、上位 5 名と下位 5 名がすべて同じスコアになる可能性があります。
たとえば、Tencent の現在のゲームはすべて友達のサークル内でランク付けされています。これは別の問題であり、非常に技術的です。