SQlite查询速度慢,只需添加一个;及;判断
我使用上面的sql查询速度很快 但当我在上述sql语句末尾添加sql代码“和d.dictionary_id=9”时:SQlite查询速度慢,只需添加一个;及;判断,sql,sqlite,Sql,Sqlite,我使用上面的sql查询速度很快 但当我在上述sql语句末尾添加sql代码“和d.dictionary_id=9”时: SELECT distinct * FROM dictionary d join dictionary_with_word dw on dw.dictionary_id=d.dictionary_id join word w on w.word_id=dw.word_id join word_day wd on wd
SELECT distinct
*
FROM
dictionary d
join dictionary_with_word dw on dw.dictionary_id=d.dictionary_id
join word w on w.word_id=dw.word_id
join word_day wd on wd.word_id=w.word_id
join have_buy_dictionary hbd on hbd.have_buy_dictionary_dictionary=d.dictionary_id
where wd.user_id=777 and wd.word_day=0
然后会很慢
为什么? 数据库中的索引可能有问题,但很难猜测。可能必须在
word\u day
提供表结构
,索引创建脚本
和执行计划
,如果可以的话,会让事情变得更容易。与您的问题无关,但是从每个表中选择每个字段是浪费的,因为您会得到两个连接字段。我还将关键字区分开来,这是对击键的浪费。
SELECT distinct
*
FROM
dictionary d
join dictionary_with_word dw on dw.dictionary_id=d.dictionary_id
join word w on w.word_id=dw.word_id
join word_day wd on wd.word_id=w.word_id
join have_buy_dictionary hbd on hbd.have_buy_dictionary_dictionary=d.dictionary_id
where wd.user_id=777 and wd.word_day=0
and d.dictionary_id=9