我有三张桌子。每个表包含超过3M行。我运行以下代码:
SELECT * FROM
(
SELECT col_1, col_2, col_3, [date], 1 as type FROM table_1
UNION
SELECT col_1, col_2, col_3, [date], 2 as type FROM table_2
UNION
SELECT col_1, col_2, col_3, [date], 3 as type FROM table_3
) AS tb
tb.[date] BETWEEN (start_date) AND (end_date)
ORDER BY [date] DESC OFFSET n ROWS FETCH NEXT m ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
但是,当我得到较大的日期间隔时,查询运行会变慢。例如:当我得到2019-01-01和2019-04-01间隔时,查询运行约13-14秒:
这个结果非常糟糕。我想在1秒内得到结果。我能做什么?
我有两个包含一和零的字符串。我想确定在同一位置有多少个字符不同。例如:
“ 0000111000000000000000000000000000000000000000000000000000000000000000000000”和“ 0000000000000010000110000111100000000000000000000000000000000000000000”
其结果是:10
这些字符串的长度总是64。
我可以使用循环遍历字符串并计算差值的循环来实现。但我想用reg exp或其他工具来做。速度对我很重要。因为我有很多数据要比较。