0
처음 실행하면 약 3000 개의 문자열 데이터를 내 앱에 삽입하려고합니다. 내가 가지고있는 문제는 삽입 부분이 15-20 초 정도 지나치게 오래 걸린다는 것입니다. isTransaction 메서드가 올라가는 속도를 높이는 방법을 찾았지만 사용법을 모른다. 온라인에서 많은 예제를 시도했지만 내 상황에 잘 맞지 않는 것 같습니다. 도움말은 대단히 감사하겠습니다.isTransaction을 사용하여 FMDB를 사용하여 3000 개의 문자열 데이터 삽입하기
func insertWordData() {
if openDatabase() {
if let path = Bundle.main.path(forResource: "messagesToRead", ofType: "json") {
var query = ""
do {
let data = try Data(contentsOf: URL(fileURLWithPath: path), options: .alwaysMapped)
let jsonObj = JSON(data: data)
if jsonObj != JSON.null {
for (_, jsonObj) in jsonObj {
let WordString = jsonObj["FIELD1"]
let WordDefinition = jsonObj["FIELD2"]
query += "insert into words (\(field_WordID), \(field_WordString), \(field_WordDefinition)) values (null, '\(WordString)', '\(WordDefinition)');"
}
}
if !database.executeStatements(query) {
print("Failed to insert initial data into the database.")
print(database.lastError(), database.lastErrorMessage())
}
else {
//print(words)
}
} catch let error {
print(error.localizedDescription)
}
} else {
print("Invalid filename/path.")
}
database.close()
}
}