【发布时间】:2018-11-21 12:43:10
【问题描述】:
最近几天,当我尝试在管理仪表板搜索输入中搜索产品时,我的查询速度很慢(4 秒以上的 sql 答案)。
查询监视器 4,782 秒(也在 mysql cli 中直接执行查询,我得到了相同的时间)wp_psotmeta 表是“大”200.000 行
SELECT DISTINCT posts.ID as product_id, posts.post_parent as parent_id
FROM wp_posts posts
LEFT JOIN wp_postmeta postmeta ON posts.ID = postmeta.post_id
WHERE ( posts.post_title LIKE '%INVMCB278A2W%'
OR posts.post_excerpt LIKE '%INVMCB278A2W%'
OR posts.post_content LIKE '%INVMCB278A2W%'
OR ( postmeta.meta_key = '_sku'
AND postmeta.meta_value LIKE '%INVMCB278A2W%' ) )
AND posts.post_type IN ('product','product_variation')
ORDER BY posts.post_parent ASC, posts.post_title ASC
如何减少响应时间(不使用缓存)
+-------------------------------------------------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+------------------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+-------------------------------------------------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+------------------------+----------+----------------+---------+
| wp_aryo_activity_log | InnoDB | 10 | Compact | 26 | 630 | 16384 | 0 | 0 | 0 | 143 | 2018-06-11 21:31:04 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_aws_cache | InnoDB | 10 | Compact | 0 | 0 | 49152 | 0 | 0 | 6291456 | NULL | 2018-06-11 21:31:04 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_aws_index | InnoDB | 10 | Compact | 365747 | 104 | 38338560 | 0 | 0 | 7340032 | NULL | 2018-06-11 21:31:05 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_commentmeta | InnoDB | 10 | Compact | 101 | 162 | 16384 | 0 | 32768 | 0 | 115 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_comments | InnoDB | 10 | Compact | 866 | 359 | 311296 | 0 | 294912 | 0 | 975 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_layerslider | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_layerslider_revisions | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_links | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | 1 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_masterslider_options | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | 2 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_masterslider_sliders | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | 2 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_newsletter | InnoDB | 10 | Compact | 5 | 3276 | 16384 | 0 | 32768 | 0 | 6 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_newsletter_emails | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_newsletter_sent | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 32768 | 0 | NULL | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_newsletter_stats | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 32768 | 0 | 1 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_newsletter_user_logs | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_omega_sync_status | InnoDB | 10 | Compact | 9 | 1820 | 16384 | 0 | 0 | 0 | NULL | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_options | InnoDB | 10 | Compact | 7556 | 873 | 6602752 | 0 | 1507328 | 4194304 | 409398 | 2018-06-11 21:31:12 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_piraeus_bank_transactions | InnoDB | 10 | Compact | 9 | 1820 | 16384 | 0 | 0 | 0 | 10 | 2018-06-11 21:31:13 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_piraeusbank_transactions | InnoDB | 10 | Compact | 153 | 107 | 16384 | 0 | 0 | 0 | 188 | 2018-06-11 21:31:13 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_postmeta | InnoDB | 10 | Compact | 212550 | 175 | 37306368 | 0 | 24215552 | 4194304 | 245092 | 2018-06-11 21:31:13 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_posts | InnoDB | 10 | Compact | 17042 | 1016 | 17317888 | 0 | 4128768 | 4194304 | 25216 | 2018-06-11 21:31:20 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_revslider_css | InnoDB | 10 | Compact | 109 | 1202 | 131072 | 0 | 0 | 0 | 110 | 2018-06-11 21:31:22 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_revslider_layer_animations | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:22 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_revslider_navigations | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 2 | 2018-06-11 21:31:22 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_revslider_sliders | InnoDB | 10 | Compact | 2 | 24576 | 49152 | 0 | 0 | 0 | 3 | 2018-06-11 21:31:22 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_revslider_slides | InnoDB | 10 | Compact | 6 | 57344 | 344064 | 0 | 0 | 0 | 22 | 2018-06-11 21:31:22 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_revslider_static_slides | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:22 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_slp_extendo_meta | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 49152 | 0 | 1 | 2018-06-11 21:31:23 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_store_locator | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 49152 | 0 | 1 | 2018-06-11 21:31:23 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_term_relationships | InnoDB | 10 | Compact | 32541 | 48 | 1589248 | 0 | 1589248 | 4194304 | NULL | 2018-06-11 21:31:23 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_term_taxonomy | InnoDB | 10 | Compact | 2862 | 85 | 245760 | 0 | 294912 | 0 | 3120 | 2018-06-11 21:31:23 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_termmeta | InnoDB | 10 | Compact | 3510 | 70 | 245760 | 0 | 376832 | 0 | 3756 | 2018-06-11 21:31:23 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_terms | InnoDB | 10 | Compact | 2862 | 85 | 245760 | 0 | 278528 | 0 | 3120 | 2018-06-11 21:31:23 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_usermeta | InnoDB | 10 | Compact | 2380 | 96 | 229376 | 0 | 245760 | 0 | 4391 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_users | InnoDB | 10 | Compact | 56 | 292 | 16384 | 0 | 49152 | 0 | 59 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_wc_download_log | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 32768 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_wc_webhooks | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_woocommerce_api_keys | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 32768 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_attribute_taxonomies | InnoDB | 10 | Compact | 181 | 271 | 49152 | 0 | 16384 | 0 | 197 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_downloadable_product_permissions | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 49152 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_log | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_order_itemmeta | InnoDB | 10 | Compact | 6854 | 69 | 475136 | 0 | 442368 | 0 | 9572 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_order_items | InnoDB | 10 | Compact | 1037 | 94 | 98304 | 0 | 49152 | 0 | 1478 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_payment_tokenmeta | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 32768 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_payment_tokens | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | 1 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_sessions | InnoDB | 10 | Compact | 4842 | 5755 | 27869184 | 0 | 491520 | 5242880 | 105968 | 2018-06-11 21:31:24 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_shipping_table_rates | InnoDB | 10 | Compact | 774 | 127 | 98304 | 0 | 0 | 0 | 781 | 2018-06-11 21:31:26 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_woocommerce_shipping_zone_locations | InnoDB | 10 | Compact | 1317 | 74 | 98304 | 0 | 147456 | 0 | 3500 | 2018-06-11 21:31:26 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_shipping_zone_methods | InnoDB | 10 | Compact | 195 | 84 | 16384 | 0 | 0 | 0 | 207 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_shipping_zones | InnoDB | 10 | Compact | 67 | 244 | 16384 | 0 | 0 | 0 | 71 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_tax_rate_locations | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 32768 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woocommerce_tax_rates | InnoDB | 10 | Compact | 2 | 8192 | 16384 | 0 | 65536 | 0 | 4 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woof_query_cache | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 16384 | 0 | NULL | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woof_stat_buffer | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_woof_stat_tmp | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_ci | NULL | | |
| wp_wpgmza | InnoDB | 10 | Compact | 3 | 5461 | 16384 | 0 | 0 | 0 | 5 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_categories | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_category_maps | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_circles | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_maps | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 2 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_polygon | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_polylines | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_wpgmza_rectangles | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 1 | 2018-06-11 21:31:27 | NULL | NULL | utf8_general_ci | NULL | | |
| wp_yoast_seo_links | InnoDB | 10 | Compact | 99 | 165 | 16384 | 0 | 16384 | 0 | 995 | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
| wp_yoast_seo_meta | InnoDB | 10 | Compact | 2089 | 54 | 114688 | 0 | 0 | 0 | NULL | 2018-06-11 21:31:27 | NULL | NULL | utf8mb4_unicode_520_ci | NULL | | |
+-------------------------------------------------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+------------------------+----------+----------------+---------+
Mysql解释命令
+------+-------------+----------+------+------------------+---------+---------+-----------------------+-------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+----------+------+------------------+---------+---------+-----------------------+-------+----------------------------------------------+
| 1 | SIMPLE | posts | ALL | type_status_date | NULL | NULL | NULL | 17042 | Using where; Using temporary; Using filesort |
| 1 | SIMPLE | postmeta | ref | post_id | post_id | 8 | theodoulidis.posts.ID | 8 | Using where; Distinct |
+------+-------------+----------+------+------------------+---------+---------+-----------------------+-------+----------------------------------------------+
【问题讨论】:
-
请在运行查询之前使用 EXPLAIN 关键字并发布它的输出,很可能它没有使用正确的索引或缺少索引。除此之外,LIKE 查询非常昂贵。
-
解释说key null,我在这里复制它
-
当您使用带有“like”的查询时,它的开销大于相等。 “或”也很昂贵。使用全文索引可能是个好主意。 dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.htmlstackoverflow.com/questions/5629491/…
标签: mysql wordpress performance woocommerce