首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >sqlite确定是否使用索引

sqlite确定是否使用索引
EN

Stack Overflow用户
提问于 2014-09-01 09:20:50
回答 2查看 2.7K关注 0票数 3
  1. 如何理解在运行index查询时是否使用了创建的select
  2. 我的任务的具体示例:

索引:

代码语言:javascript
复制
  events (page,notuniqueid,type,timestamp);

SQL语句:

代码语言:javascript
复制
  SELECT * 
  FROM events 
  WHERE type = 'comment' AND TIMESTAMP > $time AND PAGE = '$page' 
  LIMIT 1

这个查询会使用索引吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-01 09:24:09

要了解查询是如何执行的,请使用解释查询计划运行它

代码语言:javascript
复制
> EXPLAIN QUERY PLAN SELECT * from events WHERE type='comment' AND TIMESTAMP > $time AND PAGE = '$page' LIMIT 1
0|0|0|SEARCH TABLE events USING INDEX MyLittleIndex (page=?)

在这种情况下,只能使用索引的第一列,因为notuniqueuid列上没有查找。

一个更好的索引(用于此查询)将在(page,comment,timestamp)上。

(见SQLite查询规划器.)

票数 3
EN

Stack Overflow用户

发布于 2022-09-30 08:55:33

一旦您使用了@CL所描述的EXPLAIN QUERY PLAN,您可能想确切地看到您有哪些索引.

代码语言:javascript
复制
SELECT name, tbl_name FROM sqlite_master WHERE type = 'index'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25602606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档