1

次のデータベース テーブルを購入したところ、ユーザーは世界中のどの都市にいるのかを選択できるようになりました。

http://www.rocky.nu/index.php?main_page=product_info&cPath=4&products_id=13

非常にうまく機能しますが、少し遅いので、すべてのユーザーが使用することを期待しています。私はmemcacheを読んで、このデータベースへのすべてのクエリをmemcacheするのが良い考えかどうか疑問に思っていました.同じ都市のユーザーがサイトにアクセスすると、パフォーマンスが向上します.

どんな助けでも大歓迎です!

4

2 に答える 2

0

場所や名前でテーブルを検索しない限り、できることはあまりありません。上記のコメントで述べたように、ID 列のデータ型はBIGINTs であってはなりません。冒険 したい場合MEDIUM INT UNSIGNED NOT NULLは、より高いレベルのインデックスをSMALL INTs またはs にすることができます。TINY INT

国 ID または州 ID から都市を取得するのは、事実上瞬時です。緯度/経度で検索したい場合は、空間情報を使用する必要がありますが、慣れていないとやや複雑になります。

PSストアページに表示されているインデックスがデータベースに作成されたと思います。

于 2013-01-03T19:43:39.290 に答える
0

memcache についてはよくわかりませんが、最も検索数の多い列にインデックス キーがあることを確認してください。また、一意のフィールドがある場合は、その列も一意のキーになります。

于 2013-01-03T19:22:12.770 に答える