全て-
そのため、ビデオゲームのオブジェクトに関連付けられた3D位置(x、y、z)を保存する必要があります。
私は興味があります、これはひどい考えですか?位置は非常に頻繁に生成され、一部異なる場合があります。
基本的に、データベースにその位置を保存したいのは、それがすでに保存されている位置のヤード内にない場合のみです。
私は基本的に、ゲーム内のオブジェクトの既存の位置を(object_id、object_type、continent、game_versionで)選択し、ループして、PHPを使用して距離を計算していました。1より大きい場合は、挿入します。
現在、約700万行になっているので(明らかに同じオブジェクトではありません)、これは効率的ではなく、使用しているサーバーがクロールします。
この情報をより適切に保存する方法について誰かが何かアイデアを持っていますか?どういうわけかMySQLにあるほうがいいです。
テーブルの構造は次のとおりです。
object_id
object_type (like unit or game object)
x
y
z
continent (an object can be on more than one continent)
game_version (positions can vary based on the game version)
後でデータにアクセスする必要があるときは、基本的にobject_id、object_type、continent、およびgame_versionでのみクエリを実行します(したがって、これら4つのインデックスがあります)
ありがとう!ジョシュ