做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
$ {- O( K* v3 }$ i) |% o( }% s# @2 T& Z+ v1 M3 p
搜了一下优化方式,初步发现有两种方式:
+ g: o$ f, G$ Q7 o2 t( S/ W* Z( S2 ~ a. b: v0 L! ?( z \; G
https://aihongxin.com/1045.html2 s6 H- g) G: A) A k) l9 U Y
# ^% l G% x8 r1 P7 J5 F: T5 k' t2 b和
( k9 K# u1 ]/ F) O, q& x- Q) R2 \1 J. w1 G! K- n5 Z" [1 O7 B
https://www.banzhuti.com/sql-cal ... y-optimization.html
3 ?# m h. H( V; M( @
5 E1 z, m0 x5 e, Z2 E9 z都是修改WordPress的主题文件夹的functions.php文件& l& }: |5 U, ^1 z- h5 D9 m
, H+ a, l( Q, w g/ q7 [2 M
另外还有一个方式是把文件:wp-includes/query.php里的
" u, b3 J7 W4 S7 {$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
$ [% Y* D+ X& w* A# Q" Y+ i# \改为
; N+ Y3 ~4 Z! J# n" _$this->max_num_pages = 0;
/ S, L. P/ D0 C4 I9 W
- B, ^: ` j7 @$ L好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?
! d/ p$ e6 H8 q3 O1 s2 q. D e" y0 [
, ^2 V; ^2 C- E% [! I因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。4 b: X+ O- j! `
|