個人用ツール

ver4/データベースチューニング

提供: baserCMS公式ガイド

2016年9月18日 (日) 17:53時点における183.76.75.203 (トーク)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内, 検索

[このコンテンツは内容調整中です]

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

インデックス

参考
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) ;