MySQL環境で関連記事プラグインYARPP導入して詰まったこと

三連休終わってしまった!まみたすです。
そろそろ真面目にブログのデザインとか、webマーケターsyalakuくんとしては回遊性だとかを考えたいとのことで(回遊性とかそういうのはsyalakuくんがそのうち解説してくれます)、関連記事プラグインを導入しました。

タイトルの重要度を検討できない

インストール後メニューから「YARPP」を選択。


ここから、関連度をつける上で検討するか、しないか、重要視するかを選べるのですが、タイトル部分の重要度が選べない・・・!
グレーになってしまって選択できないのです。

ストレージエンジンを変更する

ということで、調べてみると「MyISAM」というストレージエンジンを使っていないとダメ、とのこと。
確かめてみるとうちはInnoDBだったので、テーブル定義を変更します。

参考:https://love-guava.com/wordpress-yarpp/

コマンド叩いてやる場合はこんな感じです。
/* ストレージエンジンを確認する */
show engines;
/* テーブル定義を変更する */
alter table wp_posts engine=MyISAM;

今までの設定を一度リセット

上記対応をしたら、一度今まで設定したものを削除します。
コマンドで叩く場合はこれ。
/* wp_optionsテーブルから「yarpp」で始まるカラムのデータを確認 */
SELECT * FROM wp_options WHERE option_name is like ='yarpp%';
/* DELETE */
DELETE FROM wp_options WHERE id in(SELECT id FROM wp_options WHERE option_name is like ='yarpp%');

DELETE文気をつけてください・・・。

これで解決しました。

ストレージエンジンってなに?

ストレージエンジンとは、平たく言えば、MySQLというDBシステムの中で、読み書き部分に関する処理をするところです。
その読み書きの部分に使うエンジンを選べるのですが、その代表的な2つが「MyISAM」「InnoDB」ですね。

二つの大きな違いは、大きくこの2点。

MyISAM
・ロック方式がテーブル全体をロックするので、処理が詰まりやすい
・トランザクションがサポートされていない

InnoDB
・ロック方式が行(レコード)単位なので、処理は詰まりにくい
・トランザクションがサポートされている

ロック方式?

データを入れたり更新したりする時に、他の処理が入らないように同時にアクセスすることを制御するアレです。
排他制御とかなんとかに関連します。

要は、今から処理やるから、ちょっと他の人触らんといてな!みたいなことです。

こないだ上司が「デッドロック」という言葉を使っていてちょっとかっこよかったので積極的に使いたい。

トランザクション?

データを更新したりする時に確定をどこでするか、というものです。
例えば5行あるデータをUPDATEしたい時、トランザクションをかけると、UPDATEをしてUPDATEしたデータが正しいかどうかを確認して、それからその変更を確定することができます。変更確定!って命令するまでは変更は確定されないので、もちろん「あ待ってやばい戻して」っていうのもできます。
DELETEとかUPDATE処理が多いアプリケーションはこれがないと結構しんどいのではないでしょうか・・・。

よくわからん場合は、ひとまず「変更確定ボタン」と「戻るボタン」があるのがトランザクションというイメージで大丈夫です。

※テーブル作ったりの処理はトランザクションが効かないので注意しましょう。

参考:
『MySQLのストレージエンジン変更』
https://doruby.jp/users/hanafubuki_on_rails/entries/MySQL_
『運用視点なMyISAMとInnoDBと。』
http://tech.lexues.co.jp/archives/1405

The following two tabs change content below.
まみたす

まみたす

1992年生まれ。知識ゼロ文系女子からSEになっているところ。 カメラ、猫、お酒、旅行がすきです。
この記事の内容が役に立ったと思ったら、SNSで記事を共有してもらえると幸いです。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)