与Where语句没关系。应该是前面某一子查询Select 的列。
当主表的该列得出一条的时候,子查询条件下却得到多条。就会100%报这个错误。
你将Sql全部贴出。或者Select部分的列取得
根据你的查询条件,建立相应的索引,就可以提高查询效率了。
在硬件基本符合要求的情况下,通过索引检索,如果结果集只有几十条数据的话,一般都可以降低到毫秒级的处理速度。
另外如果确实数据量太大,千万级以上的话,可以考虑建分区表,这样在执行DML *** 作时可有效提升性能,降低IO。
您好,样做不对 应该是点到 A部门 显示 A部门下的分部门以及A部门下的员工(1次查询)
然后点到A部门下的分部门B,然后在B部门下显示B部门下的分部门下的员工(再1次查询)
你如果要从根节点 直接把全部的东西一次性 全部查询出来的话 呵呵 要完蛋啦。
还有不要用语句拼写啦 用 面向OO的方式吧 直接 A a = emfind(id); agetSons()
然后遍历 多少 写个递归一个方法搞定。
mysql> show variables like '%time%';
+----------------------------+-------------------+
| Variable_name | Value |
+----------------------------+-------------------+
| connect_timeout | 10 |
| datetime_format | %Y-%m-%d %H:%i:%s |
| delayed_insert_timeout | 300 |
| flush_time | 1800 |
| innodb_lock_wait_timeout | 50 |
| innodb_old_blocks_time | 0 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lc_time_names | en_US |
| lock_wait_timeout | 31536000 |
| long_query_time | 10000000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| slow_launch_time | 2 |
| system_time_zone | |
| time_format | %H:%i:%s |
| time_zone | SYSTEM |
| timed_mutexes | OFF |
| timestamp | 1366027807 |
| wait_timeout | 28800 |
+----------------------------+-------------------+
21 rows in set, 1 warning (000 sec)
以上就是关于SQL查询时错误:子查询返回的值多于一个全部的内容,包括:SQL查询时错误:子查询返回的值多于一个、ORACLE数据库中由于表中数据过多 导致数据库查询慢 每次只需要 查询出 几十条数据 怎么解决、sql查询,目标数据库查询过多过慢导致timeout exception等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)