php - 按类别过滤时Mysql计数慢

标签 php mysql

为什么我的查询在运行时速度很快。

select count(*) as aggregate from `news` where `news`.`deleted_at` is null and `status` = '1'

但是,我跑的时候很慢。

select count(*) as aggregate from `news` where `news`.`deleted_at` is null and `status` = '1' and `newscategory_id` = '17'

是我的表news结构图,看看here .

对不起,因为我的声望小于8,所以我不能附上图片。

最佳答案

尝试在您用于选择的三列上添加复合索引:

ALTER TABLE news ADD INDEX comp_index (deleted_at, status, newscategory_id);

再检查一遍。 可能使用 EXPLAIN 来查看是否使用了任何索引。

关于php - 按类别过滤时Mysql计数慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28446552/

相关文章:

php - 手动安装Apache/MySQL和PHP的优点

mysql - 内连接两个表,都有外键但没有主键?

php - 两个日期之间的天数不能产生正确的结果

javascript - PHP/Javascript/Python 不重新加载 div

mysql - 优化 MySQL 数据存储

php - 如何在 Codeigniter 的单独类函数中执行 SQL 查询

mysql - MySQL mariadb 为什么无故回滚数据?

php - 如何链接到文件并更改 CodeIgniter 中的基本 url?

JAVA HttpClient with php and Json parsing (not for Android)

javascript - 将 jquery 变量赋值给 php 变量