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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
2022년 3월 21일 TIL1. JVM & JDK JVM JRE 자바 실행 환경의 약자로 자바 프로그램을 실행하기 위한 도구들이 들어있으며 JVM이 이 안에 포함된다 JDK JRE + 개발툴 javac는 컴파일 명령어 HelloWorld.cl...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.