如何获取 SQL 查询中结果集的字节大小?
是否可以获取 MySQL 中 sql 查询结果的大小(以字节为单位)?
例如:
select * from sometable;
ths 返回 10000 行。我不需要行,而是结果集的大小(以字节为单位)。是否可以?
Is it possible to get the size in bytes of the results of an sql query in MySQL?
For example:
select * from sometable;
ths returns 10000 rows. I don't want the rows but the size of the resultset in bytes. Is it possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
char_length
用于enum
,set
可能不准确,请注意char_length
forenum
,set
might not accurate, please take note为了构建 Angelin 的解决方案,如果您的数据包含空值,您需要将 IFNULL 添加到每列:
To build on Angelin's solution, if your data contains nulls, you'll want to add IFNULL to each column:
简化:
您需要将 IFNULL() 添加到每列,正如 @futilerebel 提到的那样
simplify :
You need to add IFNULL() to each column as @futilerebel has mentioned
如果 unicode 需要更多字节,则
CHAR_LENGTH()
获取字符数 - 使用LENGTH()
获取字节数:https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length< /a>CHAR_LENGTH()
gets number of characters if unicode will be more bytes - useLENGTH()
for number of bytes:https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length