我有250 gb Ram和4 tb SSD的工作站。 memsql有一个包含10亿条记录的表,每条记录包含44个500 gb数据的列。当我在该表上运行以下查询时
onclick='$("#/^{{site.City}}/").show();'
我收到以下错误
MemSQL代码生成失败
我重启了服务器,之后又出现了另一个错误
没有足够的内存可用于完成当前请求。请求未得到处理
我给服务器最大mermory 220 GB和max_table_memory 190 GB。
为什么会出现这种错误?
为什么memsql从内存消耗140 gb然而我正在使用列存储?
答案 0 :(得分:1)
对于“MemSQL代码生成失败”,请检查错误发生的MemSQL节点上的tracelog(http://docs.memsql.com/docs/trace-log)以获取更多详细信息 - 这可能意味着很多不同的事情。
即使列存储数据存在于磁盘上,MemSQL也需要内存来处理查询结果,保存一些元数据等。检查memsql状态信息以查看正在使用内存的内容 - https://knowledgebase.memsql.com/hc/en-us/articles/208759276-What-is-using-memory-on-my-leaves-。