2011年2月17日木曜日

GoogleAppEngine index.yaml 設定

日々躓くことが多すぎます。

もう少し難しいところで躓けばいいのですが。

いつも基本的なところで躓くので一向に進んでいきません。。。

今回はindex.yamlについて調査。

各Kind情報に対してindexを定義するファイルとのこと。

ファイルの中身は下記。

----------------------------------------

indexes:


# AUTOGENERATED


# This index.yaml is automatically updated whenever the dev_appserver
# detects that a new type of query is run.  If you want to manage the
# index.yaml file manually, remove the above marker line (the line
# saying "# AUTOGENERATED").  If you want to manage some indexes
# manually, move them above the marker line.  The index.yaml file is
# automatically uploaded to the admin console when you next deploy
# your application using appcfg.py.


- kind: City
  properties:
  - name: area
  - name: prefecture



----------------------------------------


# AUTOGENERATED←これを入れておけばfilter、sortで使用している項目に対して、

indexを自動で定義してくれる。※複数項目を条件で指定した場合のみ。

逆にindexを定義しないとエラーで落ちてしまうので、自動生成にしておくと便利。

しかしながら不要になったindexは自動では削除されないようで。(それは当然か。)

不要なindexは削除しておかないとサーバーのリソースも食ってしまうので、開発段階では定期的にメンテナンスの必要あり。


実際は、BigTableの仕組みをまだあまり理解していないので、そこから勉強しないとだめかなと。

今回、複数項目に対して検索をするとindexが生成されると認識していただのですが、ReferencePropertyの項目のみ使用するとindexは生成されないみたいで。

イメージ的にはKeyになっている項目なので必要はないのかと。

ただ普段よく利用している、リレーショナルDBとはかなり感覚が違う気がするので。

物覚えが悪い自分としてはまた一つ壁です。

引き続き要勉強!

わからないことが多すぎて。

日々精進。

0 件のコメント:

コメントを投稿