做了个垃圾采集站,随着数据量的增多,30W+的时候慢查询开始出现SQL_CALC_FOUND_ROWS
1 ^( n1 c7 `0 F; ?) {6 ]: B1 c: k0 I- r# | A
搜了一下优化方式,初步发现有两种方式:
6 i! R/ [* J( Y, t7 ^/ } s
" e. v( I2 A9 T/ W( ehttps://aihongxin.com/1045.html
# m \1 h! O5 T) I0 K2 z' C6 Q9 Y
; J7 r4 q- ^- l. n: {$ M& H2 h' E6 d和
$ A) S: C0 Z' v1 b, y- z d9 P& {( i
https://www.banzhuti.com/sql-cal ... y-optimization.html2 i i$ K6 y4 c( I8 d$ G
' u2 D2 z6 O, r! J8 B A; F' `都是修改WordPress的主题文件夹的functions.php文件' l2 ]( ]* e1 F' x. B
1 T" s, r; i8 k3 g3 e3 q
另外还有一个方式是把文件:wp-includes/query.php里的
9 }! M: C: K: H+ @2 h1 N5 D$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );% }0 G, e7 @+ Z! N5 X* H1 D
改为
6 C! n) p& T( ], y: z9 ?$this->max_num_pages = 0;, C6 l+ }8 ?& p, m
3 c; J6 B! R e2 \! S: F# e好像方式3也是用于处理SQL_CALC_FOUND_ROWS的?. P( R) j N+ ]
7 x) s, ?4 B1 \; G1 ~: ]/ N
因为基本不懂代码,麻烦哪位懂的大佬帮看一下上述三种方法的利弊?谢谢了。 B4 }2 j" l- x. t5 [5 Y- O9 }
|