做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
0 B! X2 P: j+ G+ R9 M/ y/ I* [
( A6 j( X- {( A, e3 U5 ^3 b* o6 F搜了一下优化方式,初步发现有两种方式:( {4 T& Y: B9 P6 F9 d
" U7 p( f& U' shttps://aihongxin.com/1045.html! }' C2 m5 j$ t( [: t6 k
6 W3 K& p6 M3 d7 n i% }0 D& ]8 E
和
. |; i, a z* r1 [$ ], i# H% f$ I a& G( w
https://www.banzhuti.com/sql-cal ... y-optimization.html
( O, ^+ }. Z% E1 A" e0 E9 d( ]% U+ I0 Z! Q- F9 L
都是修改WordPress的主题文件夹的functions.php文件5 C$ X5 Z1 n/ k! H) y
; | I# K; F# X9 R( }3 g
另外还有一个方式是把文件:wp-includes/query.php里的
$ b7 ^& r+ \! P7 f6 @8 s$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );
8 @5 b5 h- Y0 R! {# U* Y改为8 o" {! R$ I: U
$this->max_num_pages = 0;+ d1 A% |$ y I, ]
1 t5 t2 e0 Y# H( A
好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?0 _3 Q- \. d. `! m2 ]: E: o: `
9 e( M7 U, I% F* o1 n% ]' T
因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。9 a- G% G, V4 x
|