個人用ツール

「データベースチューニング」の版間の差分

提供: baserCMS公式ガイド

移動: 案内, 検索
(ページの作成:「データベースチューニングについて。 ## インデックス [http://flagsystem.co.jp/news/archives/32 参考]<br> table prefixは適宜読み替える事...」)
 
行42: 行42:
 
ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_post_id_idx(blog_post_id) ;<br />
 
ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_post_id_idx(blog_post_id) ;<br />
 
ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_no_idx(no) ;<br />
 
ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_no_idx(no) ;<br />
 +
[[Category:開発ガイド]]

2016年3月29日 (火) 16:15時点における版

データベースチューニングについて。

インデックス

参考
table prefixは適宜読み替える事

PostgreSQL

CREATE INDEX blog_category_id_idx ON mysite_pg_blog_posts(blog_category_id) ;
CREATE INDEX blog_content_id_idx ON mysite_pg_blog_posts(blog_content_id) ;
CREATE INDEX user_id_idx ON mysite_pg_blog_posts(user_id) ;
CREATE INDEX mysite_pg_blog_posts_no_idx ON mysite_pg_blog_posts(no) ;

それからブログとタグをひもづけてるmysite_pg_blog_posts_blog_tags 。
タグを使う場合こいつは臭い。この辺、INDEX貼ればかなり変わりそう。

CREATE INDEX blog_post_id_idx ON mysite_pg_blog_posts_blog_tags(blog_post_id) ;
CREATE INDEX blog_tag_id ON mysite_pg_blog_posts_blog_tags(blog_tag_id) ;

あとはコメントのテーブル。mysite_pg_blog_comments 
もしサイトが炎上してコメント1000も2000も行った場合はここも負荷になるのでINDEX貼っときましょう。

CREATE INDEX blog_comments_content_id_idx ON mysite_pg_blog_comments(blog_content_id) ;
CREATE INDEX blog_comments_post_id_idx ON mysite_pg_blog_comments(blog_post_id) ;
CREATE INDEX blog_comments_no_idx ON mysite_pg_blog_comments(no) ;

MySQL

ALTER TABLE mysite_pg_blog_posts ADD INDEX blog_category_id_idx(blog_category_id) ;
ALTER TABLE mysite_pg_blog_posts ADD INDEX blog_content_id_idx(blog_content_id) ;
ALTER TABLE mysite_pg_blog_posts ADD INDEX user_id_idx(user_id) ;
ALTER TABLE mysite_pg_blog_posts ADD INDEX mysite_pg_blog_posts_no_idx(no) ;

ALTER TABLE mysite_pg_blog_posts_blog_tags ADD INDEX blog_post_id_idx(blog_post_id) ;
ALTER TABLE mysite_pg_blog_posts_blog_tags ADD INDEX blog_tag_id(blog_tag_id) ;

ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_content_id_idx(blog_content_id) ;
ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_post_id_idx(blog_post_id) ;
ALTER TABLE mysite_pg_blog_comments ADD INDEX blog_comments_no_idx(no) ;