inc2734 / mw-wp-form

69 stars 46 forks source link

お問い合わせ内容データベース保存時にslug生成処理の時間が掛かってしまう #72

Open nakazonot opened 7 years ago

nakazonot commented 7 years ago

フォームから、何回もお問い合わせがあった場合に、 同じタイトルのpostが生成されるため、wp_insert_post()の処理が遅くなってしまうようです。

zenith6 commented 6 years ago

@nakazonot @inc2734

WordPress 4.2.2 + MW WP Form 2.7.0 と言う古い環境下ですが、同じ現象に遭遇しました。 wp_unique_post_slug() 内部で、申込件数に比例してDBへの読み取りアクセスが発生します。

wp_insert_post( $postarr, $wp_error = false )$postarr['post_name'] にユニーク値を指定する事で回避できるようです。 post_name を変える事で MW WP Form にどれだけの影響があるのか掴めていませんが、ご参考になりましたら幸いです。

  1. https://github.com/inc2734/mw-wp-form/blob/20e4dd5baba14efb7af376f1f34d91b698332804/classes/services/class.mail-parser.php#L55-L59
  2. https://github.com/WordPress/WordPress/blob/4.2.2/wp-includes/post.php#L3094-L3325
  3. https://github.com/WordPress/WordPress/blob/4.2.2/wp-includes/post.php#L3783-L3791