做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
& g# ^; g- n: a6 p( k% g9 Q, z6 \8 e2 g, ]* W4 R w: Z; P$ H
搜了一下优化方式,初步发现有两种方式:
* Y7 e5 B9 I, D8 p; B: }; v* Q" E: j; g1 E& l2 d7 Z
https://aihongxin.com/1045.html
; q' Z7 m, f( d; x
/ ?$ Z ? p; |1 `7 j: ?) {7 ^和* u! C) w c4 W) S/ V3 C5 `
; Q7 C8 K: o0 C/ ^
https://www.banzhuti.com/sql-cal ... y-optimization.html
/ s1 M O: g$ {/ K# D6 z' v
( a7 |$ n9 x8 @" q+ |$ x都是修改WordPress的主题文件夹的functions.php文件
5 G+ @. ^& J( ^3 A" ^: Z7 v$ I- q1 [: H) O6 }+ U( _( ?
另外还有一个方式是把文件:wp-includes/query.php里的$ t% z: ^. }; _ S5 _" \
$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
- M5 P3 m; H$ e+ J! M8 d* t改为
2 L5 ^* l- r7 ]- s3 k' u$this->max_num_pages = 0;+ G, x: j6 U7 ^( f7 A. f6 W
1 F/ A+ _, }% ?3 u
好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?
" R, l9 j( [& k& }$ h q5 S5 }+ L, |& T# C9 M- M' X8 N5 V. Q0 m0 d& w( b
因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。
7 i7 f* G" x M; [ |