我一直在为一个新的应用程序做一些AWS Redshift的负载测试,我注意到它的每个表的列限制为1600.更糟糕的是,随着表中列数的增加,查询速度会变慢.
这里没有任何意义的是Redshift应该是一个列存储数据库,理论上不应该是在特定where子句中未选择的列的I/O命中.
更具体地说,当TableName是1600列时,我发现下面的查询比TableName例如1000列和相同行数要慢得多.随着列数的减少,性能提高.
SELECT COUNT(1) FROM TableName
WHERE ColumnName LIKE '%foo%'
Run Code Online (Sandbox Code Playgroud)
我的三个问题是: