加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

海量、多维数据让人抓狂?高效搜索方法看这里

发布时间:2019-09-17 07:40:54 所属栏目:MySql教程 来源:读芯术
导读:人与世界万物的互动会产生大量的时空数据。那么,当我们需要随时调用过去的数据时,改怎么办?尤其是面对各种海量、多维度的数据库,如果没有高效的搜索方法,我们只能望洋兴叹、束手无策。 别担心,本文将用详细的代码,手把手来传授高效搜索法的绝技! 对

最后,将这些片段合并到ctid中。

  1. select * from ff(point (0,0) ,5,1000000)  
  2.  intersect  
  3. select ctid from tbl  
  4.  where crt_time between 2017-07-22 17:59:34 and 2017-07-22 17:59:40  
  5.  and (  
  6.  c1 in (1,2,3,4,100,200,99,88,77,66,55)  
  7.  or  
  8.  c2 < 10  
  9.  );  
  10.  ff  
  11. ------------  
  12.  (1394,8)  
  13.  (3892,50)  
  14.  (6124,45)  
  15.  (7235,8)  
  16.  (7607,45)  
  17.  (11540,8)  
  18.  (13397,31)  
  19.  (14266,36)  
  20.  (18149,7)  
  21.  (19256,44)  
  22.  (24671,62)  
  23.  (26525,64)  
  24.  (30235,48)  
  25. (13 rows)  
  26. Time: 463.012 ms 

取得最终纪录。

  1. select * from tbl where ctid = any  
  2. (  
  3. array( -- array start  
  4. select * from ff(point (0,0) ,5,1000000) intersect select ctid from tbl  
  5.  where crt_time between 2017-07-22 17:59:34 and 2017-07-22 17:59:40  
  6.  and (  
  7.  c1 in (1,2,3,4,100,200,99,88,77,66,55)  
  8.  or  
  9.  c2 < 10  
  10.  )  
  11. ) -- array end  
  12. );  
  13.  id | info | crt_time | pos | c1 | c2 | c3  
  14. ---------+----------------------------------+----------------------------+----------------------------------------+------+------+-----  
  15.  104558 | c4699c933d4e2d2a10d828c4ff0b3362 | 2017-07-22 17:59:34.362508 | (4.20534582808614,2.43749532848597) | 99 | 4858 | 543  
  16.  291950 | 1c2901689ab1eb7653d8ad972f7aa376 | 2017-07-22 17:59:34.776808 | (2.5384977646172,1.09820357523859) | 3 | 2131 | 360  
  17.  459345 | 9e46548f29d914019ce53a589be8ebac | 2017-07-22 17:59:35.148699 | (0.715781506150961,3.1486327573657) | 1 | 1276 | 8  
  18.  542633 | c422d6137f9111d5c2dc723b40c7023f | 2017-07-22 17:59:35.334278 | (0.0631888210773468,2.2334903664887) | 4968 | 3 | 245  
  19.  570570 | fc57bfc6b7781d89b17c90417bd306f7 | 2017-07-22 17:59:35.39653 | (3.14926156774163,1.04107855819166) | 88 | 2560 | 561  
  20.  865508 | 34509c7f7640afaf288a5e1d38199701 | 2017-07-22 17:59:36.052573 | (3.12869547866285,2.34822122845799) | 2 | 65 | 875  
  21.  1004806 | afe9f88cbebf615a7ae5f41180c4b33f | 2017-07-22 17:59:36.362027 | (1.13972157239914,3.28763140831143) | 3 | 1639 | 208  
  22.  1069986 | 6b9f27bfde993fb0bae3336ac010af7a | 2017-07-22 17:59:36.507775 | (4.51995821669698,2.08761331625283) | 2 | 200 | 355  
  23.  1361182 | 7c4c1c208c2b2b21f00772c43955d238 | 2017-07-22 17:59:37.155127 | (1.7334086727351,2.18367457855493) | 9742 | 0 | 232  
  24.  1444244 | 41bf6f8e4b89458c13fb408a7db05284 | 2017-07-22 17:59:37.339594 | (0.52773853763938,2.16670122463256) | 1 | 2470 | 820  
  25.  1850387 | 6e0011c6db76075edd2aa7f81ec94129 | 2017-07-22 17:59:38.243091 | (0.0168232340365648,0.420973123982549) | 100 | 4395 | 321  
  26.  1989439 | 6211907ac254a4a3ca54f90822a2095e | 2017-07-22 17:59:38.551637 | (0.0274275150150061,0.490507003851235) | 1850 | 5 | 74  
  27.  2267673 | 898fdd54dcc5b14c27cf1c8b9afe2471 | 2017-07-22 17:59:39.170035 | (0.394239127635956,2.86229319870472) | 2892 | 6 | 917  
  28. (13 rows)  
  29. Time: 462.715 ms 

过程花费462毫秒。

9. 测试原始SQL查询的性能: PostgreSQL Multi-Index BitmapAnd and BitmapOr跳过扫描

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读