2014-01-07 2 views
0

저는 SQLite의 초심자입니다. int 배열이 있습니다 : int[][] data = new int[32768][256]. 그래서 SQLite 데이터베이스를 사용하여 data 콘텐츠를 저장하기로 결정했습니다. 나는 "data_content"라는 이름의 테이블을 생성하고 세포 abc (c = data[a][b])(Android) SQLite 데이터베이스에 대량의 정수를 저장하는 방법은 정말 빠릅니까?

에 데이터를 입력하고자하지만 미만의 값 (8 388 608)의 많은 양의 (은/sdcard에 /에서) 저장하려면 가능한 경우 분. 어떻게 할 수 있습니까? 나는 어떤 코드를 주셔서 감사하겠습니다.

영어를 매우 유감스럽게 생각하며 Google 번역을 사용했습니다.

답변

0

빠른 저장을 위해서는 플랫 파일을 사용하여 데이터를 저장하고 압축 한 다음 저장하는 것이 좋습니다. SD 카드에 대한 IO 속도가 주요 제한 사항이므로 압축하면 많은 비용을 절약 할 수 있습니다. TBH

당신이 더 당신의 진짜 문제에 대한 답변을 대상으로 얻을 것이다으로 다음이 작업을 수행 할 수 왜 당신이 설명하는 더 나을 수 있습니다 ... 당신이 정말로 SQLite는을 사용하려면

+0

TBH의 의미는 무엇입니까? – user3171005

+0

@ user3171005 To Be Honest. – Darkhogg

+0

설명해 주셔서 감사합니다 :) – user3171005

1

은 모든 단일 튜플 등을 삽입하지 않도록 별도의 진술. 큰 덩어리로 데이터를 펌핑하기 위해 UNION SELECT 구문을 사용하는 것이 좋습니다.

뭔가 같은 :

INSERT INTO 'data_content' 
    SELECT 'data1_1' AS 'a', 'data1_2' AS 'b', 'data1_3' AS 'c' 
UNION SELECT 'data2_1', 'data2_2', 'data2_3' 
UNION SELECT 'data3_1', 'data3_2', 'data3_3' 
UNION SELECT ..... 

성능입니다 빠른 경우에도 나는 "엑셀 같은"이름을 가진 256 + 1 열이 다소 다른 테이블을 사용합니다 (즉, TBH 실제로 무엇을 의미하는지의) 정직하고 32768 행. 이 방법으로 상당히 적은 양의 명령문을 모두 삽입 할 수 있으며 첫 번째 열 ("행 번호"로 사용할 수 있음)에서 만들 수있는 색인 덕분에 값을 다시 읽는 동안 이점을 얻을 수 있습니다.

텍스트 파일 및 압축 압축을 사용하면 쓰기가 빠를 수 있지만 텍스트 파일은 항상 빨간색으로 순차적이므로 읽는 동안 실용적이지 않습니다.

관련 문제