方案一:
select * from ads.ads_hr_idmp_workload_details_api where get_json_string(json_value,'$.field1661586045733') LIKE '%50%' limit 1,500;
方案二:
SELECT * FROM ads.ads_hr_idmp_workload_details_api WHERE json_value REGEXP '[.]*(field1661599990469)["]:[^,]*(66)[.]*' limit 1,500;
性能:实测一千三百万数据的表,方案一首次查询要7秒,方案二首次查询3秒,推荐方案二,通过正则表达式进行查询,
非首次查询方案一:800多毫秒,方案二:400多毫秒
在对一千三百万数据的表进行查询时,比较了使用LIKE和正则表达式的性能。首次查询,正则表达式(方案二)比LIKE(方案一)快4秒。非首次查询,正则表达式仍保持更快的速度,大约是LIKE的一半时间。因此,推荐使用正则表达式进行高效查询。
656

被折叠的 条评论
为什么被折叠?



