MySQL [Err] 1055 -Expression #

今天一个朋友问我一条SQL语句,看是否可以优化,结果我执行了一遍,发现报错了。

错误的具体信息如下

经过分析发现是SQL_MODE的问题,因为在MySQL5.7中,SQL_MODE改为严格模式

查看MySQL的SQL_MODE

修改MySQL的配置文件,在配置文件中添加sql_mode

vi /etc/my.cnf

sql_mode = 'PIPES_AS_CONCAT,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE'

 

重启数据库,执行SQL

考虑是否可以优化此SQL

查看执行计划

p 表做了全表扫描

查看P表

 

P表执的时间也很慢,此SQL语句没有where条件,无法建立索引,所以无法优化。

猜你喜欢

转载自blog.csdn.net/liuzhuang2017/article/details/81458195