Hash VS. BinarySearch


cqy:

    ,        200    ,  10       。      (       )            。

            ,         ?

1、    ,         select count(*) ...

2、    , 1        select * from ... where ... in (  1,  2,...,  1000)

3、          ,        。

...

              ,     ,                5 , 10       50    。


    :
1、                         ,       ,                       。
2、        ,         ,                 。
3、           ,          。


zg:

10    ,       ?

    10  ,           。

    ,   n*m   m

           :)

cqy:
  ,       .      ,          : 
             ,            ,        ,    .       ,            ,                  ,        .

zg:
    

1:          ,   ,  

2:          ,        ,       

3:  ,      (     ,              ),        

     ,          

         ?      (    )

  :            ,              ,  .....。(           ,                )

    ,    ,        ,                。

cqy:
                     ,                。

      ,                。

lwj:
          ,      :
1、    ,         select count(*) ...
   :
       :70000
         :610028
       !
   :
       :120000
         :1203999
       :
1247010990
1247010990
1247010990
1246699687
1247372542
1272267392
1389770716
1716469803
1984701859
1145419315
1806052289
1849935038
1600328218

2、    , 1        select * from ... where ... in (  1,  2,...,  1000)
  resultList         

   :
       :70000(           )
         :297505
       :
100105777551R0340629
1100006598
11002326
1100241930
1100275543
   :
       :120000
         :517384
       :
1246699687
1247010990
1247372542
1272267392
1389770716
1716469803
1984701859
1145419315
1806052289
1849935038
1600328218


cqy:
       ,     2000,3000,4000,5000    。    12     。

lwj:
   :
      :2000
       :120000
         :517739
       :
1246699687
1247010990
1247372542
1272267392
1389770716
1716469803
1984701859
1145419315
1806052289
1849935038
1600328218
   :
      :3000
       :120000
         :517659
       :
1246699687
1247010990
1247372542
1272267392
1389770716
1716469803
1984701859
1145419315
1806052289
1849935038
1600328218
   :
      :4000
       :120000
         :579531
       :
1246699687
1247010990
1247372542
1272267392
1389770716
1716469803
1145419315
1806052289
1984701859
1849935038
1600328218
   :
      :5000
       :120000
         :520637
       :
1246699687
1247010990
1247372542
1272267392
1389770716
1716469803
1145419315
1806052289
1984701859
1849935038
1600328218


cqy:
           ,        5    ,                 ——        。

  tzc           ,       tde    ,   lwj      ,       。

    :

1、      ,                。

2、   bcp   。

3、           , HashMap     ,(key:  ,value:   1)。    100   ,    15M     ,      。

4、         , List     。

5、       List,     HashMap contranerKey  , true       List。

6、 bcp    。

        2        ,    。

    :

   3 ,   jdk        ,100  key       。  ,       :

3、           , List     ,    。

4、         , List     。

5、       List,       List     ,         List。


tzc:
3、           , LinkedHashSet     ,(key:  ,value:   1)。    100   ,    15M     ,      。

4、         , LinkedList<String[]{cardnum,  =0}>     。

5、       List,     LinkedHashSet contains  , true        1。


           ,    Linked   ,          ,                      :List list = new ArrayList(    );           。


cqy:
OK, lwj  linked       。

  ,   ,           。     100    ,java Hash        ,      ,Hash              。

        !:)


lwj:
   :linkList  
277655 rows copied.
bcp  277655   .
Clock Time (ms.): total = 2203  Avg = 0 (126034.95 rows per sec.)
[MPS_XY2_STOCK]:bcpout      :2281, bcpout 277655   
F:\temp\bcp\temp.txt  set  ~~~
F:\temp\bcp\temp.txt  set  ,    641
set.size=277655
    ~~~
F:\temp\coin_10_70000\test1.txt    ,   120000   ,    94
                  :
2100005220
2100015899
2100022897
2100027656
210018760
2100005220
2100005220
2100005220
2100015899
2100005220
2100005220
2100005220
2100005220
   :    
277655 rows copied.
bcp  277655   .
Clock Time (ms.): total = 1562  Avg = 0 (177756.08 rows per sec.)
[MPS_XY2_STOCK]:bcpout      :1640, bcpout 277655   
F:\temp\bcp1\temp.txt  list  ~~~
F:\temp\bcp1\temp.txt  list     ,    313
    ~~~
F:\temp\coin_10_70000\test1.txt      ,   120000   ,    141
                  :
2100005220
2100015899
2100022897
2100027656
210018760
2100005220
2100005220
2100005220
2100015899
2100005220
2100005220
2100005220
2100005220


cqy:
          :
bcp  :2281ms
  hashset  :641ms
    :94ms
  :2281 + 641 + 94 = 3016ms = 3.016s

        :
bcp  :1640ms,    ,    2281
  list      :313ms
    :141ms
  :2281+ 313 + 141 = 2939ms =2735s

 ,    3   。        ,     list   hashset      。

            ,         27   ,    100    。


lwj:
1000264          :
   :    
1000264 rows copied.
bcp  1000264   .
Clock Time (ms.): total = 7859  Avg = 0 (127276.24 rows per sec.)
[MPS_QB_STOCK]:bcpout      :8391, bcpout 1000264   
F:\temp\bcp1\temp.txt  list  ~~~
F:\temp\bcp1\temp.txt  list     ,    1187
listBcpFile.size=1000264
      ~~~
F:\temp\coin_10_70000\test1.txt      ,   120000   ,    1782
                  :
1719918650
1850631185
1591643820
1677294646
1506542891
1184630720
1661464630
   :linkList  
1000264 rows copied.
bcp  1000264   .
Clock Time (ms.): total = 8219  Avg = 0 (121701.42 rows per sec.)
[MPS_QB_STOCK]:bcpout      :8297, bcpout 1000264   
F:\temp\bcp\temp.txt  set  ~~~
F:\temp\bcp\temp.txt  set  ,    5375
set.size=1000264
    ~~~
F:\temp\coin_10_70000\test1.txt    ,   120000   ,    281
                  :
1719918650
1850631185
1591643820
1677294646
1506542891
1184630720
1661464630



cqy:
100             ,  。    ,       ,hashset          。           ,     ,          3  。
                           ,  ,                                   ,                。

    :
7859(bcp  ) + 1187(     ) + 1782(  ) = 10828ms
hashset  :
7859(bcp  ) + 5375(  ) + 281(  ) = 13515ms






좋은 웹페이지 즐겨찾기