gpt4 book ai didi

php - wordpress自定义查询太慢

转载 作者:行者123 更新时间:2023-11-29 07:30:57 24 4
gpt4 key购买 nike

我正在尝试使用 woocommerce 中的自定义表格创建自定义过滤器。大约有 24 000 种产品使自定义过滤器非常慢。如何让它更快?

这是我的代码:

function custom_wpquery( $query ){
if(isset($_GET['min-price'])){
// the main query
global $wp_the_query;
global $wpdb;
if ( 'product' === $query->get( 'post_type' ) ) {

$rr = g($_GET['min-price'],$_GET['max-price']);

foreach($rr as $rrr){

$fabricc = $wpdb->get_results("SELECT * FROM CWF_posts WHERE post_title = '".$rrr."' AND post_type = 'product'");

foreach($fabricc as $fabriccc){
$cID[] = $fabriccc->ID;
}

}

//print_r();exit;
// foreach($cID as $cIDD){
// $cat= wp_get_post_terms( $dd->ID, 'product_cat' );
// }
//$dd = get_page_by_title( $rrr, OBJECT, 'product' );

// $include[]=$dd->ID;
//
// $c[] = $cat[0]->slug;
//$c2[] = $cat[1]->slug;
$query->set('post__in', $cID);
}
}
}
add_filter( 'pre_get_posts', 'custom_wpquery' );

谢谢

最佳答案

您可以在您正在查询的字段上创建一个多重索引...因为您的一个字段是常量我建议将您的 SQL 转换为

SELECT * FROM CWF_posts WHERE post_type = 'product' AND post_title = '".$rrr."'

并在 MySQL 上使用此命令在 post_typepost_title 上创建索引

CREATE INDEX type_title_index on CWF_posts (post_type, post_title)

你也可以看看

Understanding multiple column indexes in MySQL query

https://dev.mysql.com/doc/refman/8.0/en/create-index.html

关于php - wordpress自定义查询太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51308167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com