如何查询指定部门及其下属部门的所有用户?

后来才意识到...我2 02 2 年做了一个项目...在上海...而且当时的数据量不小...
当时有几万张用户表...还有上百张部门表...我开始用递归查询...但是写了很长时间...MySQL 5 .7 版本...卡了很久...
我去做了性能分析...发现每次递归都是全表扫描...我一头雾水。
当时...我可能有偏见...我把递归改成直接应用层处理...我用Python...我写了一个函数...我递归遍历部门...
事实证明...Python遍历也慢...因为部门层次有点深...有的部门有几十个部门...最后我改了部门表...添加了一个路径字段...
通过使用路径匹配...执行时间直接下降...也许MySQL对LIKE优化更好。
'%xx%'...
对了...2 02 2 年的那个项目...最后我还是用path字段...效率最高...表结构变了...但是查询太快了...

mysql怎么遍历所有用户表的所有表项

直接进入SQL并使用information_schema即可。

检查所有表名: 平方米 选择表名 来自 information_schema.tables WHERE table_schema = 'your_database_name';
搜索表中的列: 平方米 选择列名 来自 information_schema.columns WHERE 表名 = '表名';
您想限制用户吗?直接添加条件即可。
如何跨所有用户?编写一个自动运行的存储过程。

平方米 分隔符 $$ 创建过程 get_all_table_columns() 开始 声明 INT 默认为 FALSE; 声明用户名 VARCHAR(2 5 5 ); 声明当前光标从 mysql.user 中选择用户; 声明未找到集合的继续句柄完成 = TRUE; 打开当前; 读循环:循环 FETCH cur INTO 用户名; 如果完成则离开 read_loop;结束如果; SELECT table_name FROM info_schema.tables WHERE table_schema = user_name; 周期结束; 关闭当前; 结束$$ 分隔符;
通过调用此过程,有关表的所有信息都可用。

权限不足?您需要更改权限。
如何改变呢?你自己看看吧。