关于sqlite count(*)的走索引问题

问题描述

关于sqlite count(*)的走索引问题

现在有一个安卓项目由于数据量大,而且有不定长数据(图片),导致查询数据库很慢,因此建立索引以改善。而现在问题是相同的sql语句,在windows下测试,看执行计划是走索引的,而在Android系统下不走索引,请教大神是什么回事,怎么解决?

表结构:UID integer primary key autoincrement,
UserCode TEXT not null,
Delete integer not null,
Photo blob .
索引:create index usercode_idx on tableName (UserCode asc, Delete );
问题SQL:select count(*) from tableName where Usercode like ''%%' and Delete = 0

解决方案

用explain查看一下索引是否符合条件了

时间: 2024-11-03 02:47:53

关于sqlite count(*)的走索引问题的相关文章

此OracleParameterCollection 的 Count=4 的索引 4 无效 的解决办法 NHibernate

概述:      当用Nhibernate操作主从表时,往主表插入数据时,当执行到提交事务时出现如下错误: 此 OracleParameterCollection 的 Count=4 的索引 4 无效. 在 System.Data.OracleClient.OracleParameterCollection.RangeCheck(Int32 index) 在 System.Data.OracleClient.OracleParameterCollection.GetParameter(Int32

Python实现Sqlite将字段当做索引进行查询的方法_python

本文实例讲述了Python实现Sqlite将字段当做索引进行查询的方法.分享给大家供大家参考,具体如下: 默认从sqlite中获取到的数据是数字索引的, 在开发阶段经常有修改数据库所以显得不太方便, 其实在python源码里就有解决方案, 直接读sqlite3的源码, 摸索了一些, 解决方案如下: 默认连接的话使用一下代码是以数字为索引的: conn = sqlite3.connect(dbfile) cur = conn.cursor() 为了使得获取到的结果集以字段为索引, 需要添加一个函数

走索引扫描的慢查询

今天查看awr报告的时候,发现一条sql语句异常. Elapsed Time (s) Executions Elapsed Time per Exec (s) %Total %CPU %IO SQL Id SQL Module SQL Text 6,621.05 2 3,310.52 2.35 10.09 93.14 0cdthzpx2jn4q JDBC Thin Client SELECT MEMO_ID FROM MEMO W... sql语句很简单. SELECT MEMO_ID FROM

MySQL优化器中一个Count和覆盖索引的问题

   前天在微薄上发了个优化器的问题,从评论来看,还是需要简单说明一下.     现象说明        其实这里主要要说明的是一个优化器还需要改进的地方.   优化器会根据where条件和select_list里面的字段决定在使用一个索引(sta)后,是否需要回表-回到聚集索引取数据.   基本的做法是:在确定了一个索引后,将select_list和where中出现的所有字段都拿来判断一下,如果字段都存在于sta索引中,则可以使用覆盖索引.   第一个explan可以用上覆盖索引(Using

如何让oracle的select强制走索引

大多数情况下,oracle数据库内置的查询优化策略还是很成功的,但偶尔也有犯2的时候,即使有索引,也会做全表扫描,可以参考以下语句的写法,强制让select语句使用索引 1 CREATE OR REPLACE VIEW V_RES_CBA AS 2 SELECT /*+INDEX(SEG IDX_T_RES_ALLOSEG_ALLOID)*/ 3 ALLO.ALLOID AS RESID, 4 NULL AS AWB, 5 ALLO.ALLOTMENT AS ALLO_ID, 6 DAYS.FD

habase:如果查询时设置了startrow和stoprow,然后在加一个rowFilter,会走索引嘛,求解!

问题描述 hadoop取没人,只能来着了 解决方案 解决方案二:没用过,帮顶!

案例:SQL无法走索引,字符集以及编码不一致如何处理

1.执行计划: SELECT * FROM `table1` WHERE  `uuid`  in( SELECT uuid FROM table2 WHERE project_create_at != "0000-00-00 00:00:00" ) +--------------------+----------------+-----------------------+-------------------+----------------+--------------------

SQLite教程(五):索引和数据分析/清理_SQLite

一.创建索引:     在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:   复制代码 代码如下:     sqlite> CREATE TABLE testtable (first_col integer,second_col integer);     --创建最简单的索引,该索引基于某个表的一个字段.     sqlite> CREATE INDEX testtable_idx ON testtable(first_col);    

有索引却走全表扫描的实验分析

最近在查询某范围的数据时,返回结果仅占整个表数据的0.05%,在相应字段上有对应索引,然而这部分数据并没有走索引, 将根据如下实验证明此种情况的原因 一 构建环境 1建立测试表 有两个字段,主键ID和手机号,手机号上有B树索引 drop table TEST_HIS -- Create table create table TEST_HIS (   id    number,   phone varchar2(32) ) ; -- Add comments to the table commen