非常緩慢加入我創造了像3個表:即使有指標
db.execSQL("CREATE TABLE IF NOT EXISTS programs (id_program INTEGER PRIMARY KEY AUTOINCREMENT , id_channel TEXT , nom_prgrm TEXT , debut TEXT , fin TEXT , FOREIGN KEY(id_channel) REFERENCES channels(id_channel)) ");
db.execSQL("CREATE INDEX __program_index ON programs(nom_prgrm)");
db.execSQL("CREATE TABLE IF NOT EXISTS categories (id_categorie INTEGER PRIMARY KEY AUTOINCREMENT, nom_categorie TEXT)");
db.execSQL("CREATE UNIQUE INDEX __categorie_index ON categories(nom_categorie,id_categorie)");
db.execSQL("CREATE TABLE IF NOT EXISTS categories_programs (id_categorie INTEGER REFERENCES categories(id_categorie) ,id_program INTEGER REFERENCES programs(id_program), PRIMARY KEY(id_categorie,id_program))");
節目表包含alomost 2500記錄和類別150這樣的鏈接表已經3400 REC
當我執行此查詢需要一個很長的時間才能告訴我結果我不知道如何優化這個!
SELECT id_channel , nom_categorie , debut , fin , nom_prgrm FROM programs, categories_programs, categories WHERE ((categories_programs.id_program = programs.id_program) AND (categories_programs.id_categorie = categories.id_categorie) AND ('"+sentence+"' LIKE ('%' || nom_categorie || '%')))
可能是它引起這個問題的連接?
感謝您的幫助
我的問題解決了,我試圖在Android 4.1相同的代碼和它的工作速度非常快,但與S2(Android 2.3的),它是慢!
不,這不是問題,因爲我想它沒有這一點,同樣的問題accouring! – user1788384
增加了另一個可能的原因。 – richardtz
非常感謝我這樣做,我已經節省了一半的執行時間,但仍然太慢 – user1788384