有没有办法告诉MySQL用于从单个查询构造结果集的总内存量?我正在寻找的东西类似于php的memory_get_peak_usage()。
我有一个复杂的查询,它产生几行求和数据。实际结果集很小 - 浮动十进制值的6或8行。但是我用来生成这些值的查询相当复杂 - 它在大型数据集上使用求和,分组,子查询等。
人们建议使用EXPLAIN,然后从那里估算行大小。这听起来容易出错;我不确定无论如何我都能搞清楚。
有办法做到这一点吗?
答案 0 :(得分:0)
想到的唯一方法是查看mySQL进程本身并观察其内存占用情况。我确信有这方面的工具,但是在拥挤的机器上找到合适的工艺可能会变得很困难。
答案 1 :(得分:0)
我刚刚发现MySQL自5.0.37开始内置了一个探查器:
http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html
但是有一点点障碍: 记忆 - 目前尚未实施