
sql
迷惘的小行星
这个作者很懒,什么都没留下…
展开
-
SQL优化
1.参数是子查询时,使用EXISTS代替IN有子查询时exists的速度更快一些,如下:以上两张表数据量都为百万级,sid字段为索引字段,使用not in耗时1分44秒,而使用not exists只耗时15秒,时间差异显著当连接列上建了索引,使用exists只需要查索引,不需要扫描整张表2.避免排序会进行排序的子句group byorder by聚合函数(sum,count,avg,max,min)distinct集合运算符(union,ntersect,except)2.1原创 2022-05-12 21:33:37 · 486 阅读 · 0 评论 -
SQL执行报错实例及原因解析
mysql执行sql:update t1 set a=(select b-c from t1);报错:“ERROR 1093 (HY000) at line 15:You can’t specify target table ‘t1’ for update in from clause”报错原因:对于同一个表的select和update不能出现在同一语句中修改sql:update t1 set a=(select b-c from (select b,c from t1 ) tmp);..原创 2022-04-27 20:46:22 · 1625 阅读 · 0 评论