以下是sql语句
select * from
(select * from t_sealapply where
user_id =#{userId}
) as t where status != '2'
请问有什么办法可以解决这个问题
为什么要用子查询 这样查不就是和你这个写法一样么 select * from t_sealapply user_id=#{userId} and ststus!='2'
1.执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程
2.你在程序中慢是因为程序有个连接数据库和与数据库交互的过程、用navicat直接查是已经连好了数据库,直接交互的操作。
1子查询没有必要,一方面造成了中间临时表的创建和释放,另一方面子查询对子查询的结果索引无效
2.框架内的查询,是进过orm等操作,一定比单纯读数据慢,但是差别太大就是问题了
刚遇到了同样的问题 大概情况应该是你mysql表里 有字段是text引起的 改成varchar 基本就两边一样了