我正在制作一个简单的游戏,具有排行榜功能(mySQL/PHP).
在游戏结束时:
我并不特别相信该服务器会处理预期的玩家流量 - 所以我想这样做.
以下哪种方法可行(并且速度最快)?
或者我错过了更好的解决方案?
ALTER TABLE
ALTER TABLE是用来更改表的结构。
当您犯了一个错误或对如何做事情改变了主意时,可以使用它。
如果您不知道它有什么用,请不要使用它。
INDEX
的INDEX是使排序更快,总是你在一个经常使用的指标分配给列WHERE条款或在ORDER BY条款。
您可以排序并选择没有索引的很好,只是速度较慢。
排名
如果您想将排名最高的球员列在首位,那么:
SELECT field1, field2, ... FROM players ORDER BY score DESC LIMIT 25
Run Code Online (Sandbox Code Playgroud)
将为您提供排名前25位的高分玩家,首先得分最高( 从高到低的顺序相反DESC )
幻想排名
SELECT @rank:= 0; -- <<-- First run this query!
SELECT @rank:= @rank + 1 as rank, s.* FROM (
SELECT field1, field2, ... FROM players ORDER BY score DESC LIMIT 25
) s; --<<-- than this one.
Run Code Online (Sandbox Code Playgroud)
哦,继续阅读有关SQL的基本知识。
Google forSQL tutorial
祝好运。
| 归档时间: |
|
| 查看次数: |
3965 次 |
| 最近记录: |