我希望在MySQL中创建一个视图,以便数据分析用户能够轻松地过滤大量数据,但是当我创建一个具有任何分组的视图时,整个视图都会被扫描,使得该视图在性能上毫无用处。Value v GROUPDeviceId;
使用EXPLAIN,我可以看到查询扫描8月分区,并使用主键(DeviceId,时间戳)以63 of返回其值
A.key = B.key and substr(A.value,1,2) not in ('something', 'something else') 正如您在上面的sql查询中看到的,A.value在连接过程中应用了一个过滤条件,但由于它是左连接,on条件not in条件不会持久保存到结果数据集,它只在连接操作期间应用,这样连接操作将不会考虑满足A.value not in ( 'something ',‘