当我需要频繁的去从mysql系统表获取表的字段详细信息时,应该注意什么问题?目前我发现没有使用到索引。

select fields from information_schema.COLUMNS  where ....
这是我的sql语句,因为我需要查询表的字段结构信息,完成自动填充数据模型,然后封装好指定的sql
语句,然后执行。
阅读 1.9k
3 个回答

可以将表字段缓存起来,用表名做key,然后设置一定的过期时间,因为表字段更改的会比较少,这样不用每次都去查表,会好一些。

information_schema下的表是memory引擎的,不能建索引,SQL用不到索引是正常的。
看你是否需要精确的数据吧,不太精确的话,可以把相关信息先缓存起来;
如果一定要每次去查表,那么建议在从库里执行。

1楼正解--将表的字段缓存起来。
具体可用redis,memcached来实现。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题