ver4/データベースチューニング
提供: baserCMS公式ガイド
[このコンテンツは内容調整中です]
データベースチューニングについて。
インデックス
参考
table prefixは適宜読み替える事
PostgreSQL
CREATE INDEX blog_category_id_idx ON mysite_blog_posts(blog_category_id) ;
CREATE INDEX blog_content_id_idx ON mysite_blog_posts(blog_content_id) ;
CREATE INDEX user_id_idx ON mysite_blog_posts(user_id) ;
CREATE INDEX blog_posts_no_idx ON mysite_blog_posts(no) ;
それからブログとタグをひもづけてるmysite_blog_posts_blog_tags 。
タグを使う場合こいつは臭い。この辺、INDEX貼ればかなり変わりそう。
CREATE INDEX blog_post_id_idx ON mysite_blog_posts_blog_tags(blog_post_id) ;
CREATE INDEX blog_tag_id ON mysite_blog_posts_blog_tags(blog_tag_id) ;
あとはコメントのテーブル。mysite_blog_comments
もしサイトが炎上してコメント1000も2000も行った場合はここも負荷になるのでINDEX貼っときましょう。
CREATE INDEX blog_comments_content_id_idx ON mysite_blog_comments(blog_content_id) ;
CREATE INDEX blog_comments_post_id_idx ON mysite_blog_comments(blog_post_id) ;
CREATE INDEX blog_comments_no_idx ON mysite_blog_comments(no) ;
MySQL
ALTER TABLE mysite_blog_posts ADD INDEX blog_category_id_idx(blog_category_id) ;
ALTER TABLE mysite_blog_posts ADD INDEX blog_content_id_idx(blog_content_id) ;
ALTER TABLE mysite_blog_posts ADD INDEX user_id_idx(user_id) ;
ALTER TABLE mysite_blog_posts ADD INDEX blog_posts_no_idx(no) ;
ALTER TABLE mysite_blog_posts_blog_tags ADD INDEX blog_post_id_idx(blog_post_id) ;
ALTER TABLE mysite_blog_posts_blog_tags ADD INDEX blog_tag_id(blog_tag_id) ;
ALTER TABLE mysite_blog_comments ADD INDEX blog_comments_content_id_idx(blog_content_id) ;
ALTER TABLE mysite_blog_comments ADD INDEX blog_comments_post_id_idx(blog_post_id) ;
ALTER TABLE mysite_blog_comments ADD INDEX blog_comments_no_idx(no) ;