「ver4/データベースチューニング」の版間の差分
提供: baserCMS公式ガイド
(ページの作成:「[このコンテンツは内容調整中です] データベースチューニングについて。 ## インデックス [http://flagsystem.co.jp/news/archives/32 参...」) |
|||
行8: | 行8: | ||
### PostgreSQL | ### PostgreSQL | ||
− | CREATE INDEX blog_category_id_idx ON | + | CREATE INDEX blog_category_id_idx ON mysite_blog_posts(blog_category_id) ; <br /> |
− | CREATE INDEX blog_content_id_idx ON | + | CREATE INDEX blog_content_id_idx ON mysite_blog_posts(blog_content_id) ;<br /> |
− | CREATE INDEX user_id_idx ON | + | CREATE INDEX user_id_idx ON mysite_blog_posts(user_id) ;<br /> |
− | CREATE INDEX | + | CREATE INDEX blog_posts_no_idx ON mysite_blog_posts(no) ;<br /> |
− | + | それからブログとタグをひもづけてるmysite_blog_posts_blog_tags 。<br /> | |
タグを使う場合こいつは臭い。この辺、INDEX貼ればかなり変わりそう。<br /> | タグを使う場合こいつは臭い。この辺、INDEX貼ればかなり変わりそう。<br /> | ||
− | CREATE INDEX blog_post_id_idx ON | + | CREATE INDEX blog_post_id_idx ON mysite_blog_posts_blog_tags(blog_post_id) ;<br /> |
− | CREATE INDEX blog_tag_id ON | + | CREATE INDEX blog_tag_id ON mysite_blog_posts_blog_tags(blog_tag_id) ;<br /> |
− | + | あとはコメントのテーブル。mysite_blog_comments <br /> | |
もしサイトが炎上してコメント1000も2000も行った場合はここも負荷になるのでINDEX貼っときましょう。<br /> | もしサイトが炎上してコメント1000も2000も行った場合はここも負荷になるのでINDEX貼っときましょう。<br /> | ||
− | CREATE INDEX blog_comments_content_id_idx ON | + | CREATE INDEX blog_comments_content_id_idx ON mysite_blog_comments(blog_content_id) ;<br /> |
− | CREATE INDEX blog_comments_post_id_idx ON | + | CREATE INDEX blog_comments_post_id_idx ON mysite_blog_comments(blog_post_id) ;<br /> |
− | CREATE INDEX blog_comments_no_idx ON | + | CREATE INDEX blog_comments_no_idx ON mysite_blog_comments(no) ;<br /> |
### MySQL | ### MySQL | ||
− | ALTER TABLE | + | ALTER TABLE mysite_blog_posts ADD INDEX blog_category_id_idx(blog_category_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_posts ADD INDEX blog_content_id_idx(blog_content_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_posts ADD INDEX user_id_idx(user_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_posts ADD INDEX blog_posts_no_idx(no) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_posts_blog_tags ADD INDEX blog_post_id_idx(blog_post_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_posts_blog_tags ADD INDEX blog_tag_id(blog_tag_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_comments ADD INDEX blog_comments_content_id_idx(blog_content_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_comments ADD INDEX blog_comments_post_id_idx(blog_post_id) ;<br /> |
− | ALTER TABLE | + | ALTER TABLE mysite_blog_comments ADD INDEX blog_comments_no_idx(no) ;<br /> |
2017年8月8日 (火) 19:23時点における最新版
[このコンテンツは内容調整中です]
データベースチューニングについて。
インデックス
参考
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) ;