SQLite数据表数量大时建索引的方法,SQLite索引知识归纳

SQLite虽然是本地数据库,但总有些表数据量达到几万的数量,这样一但和其它表联合查询再按没有索引的字段排序就会慢。

先看结论,再看实践过程

数据量达到几万时,有索引的查询比没索引可以快100倍。对有索引的字段进行排序比没索引的也快百倍。联合索引时,第一个字段单独作为条件或者作为排序时索引有效。

准备样例数据

--书本表
CREATE TABLE `t_book` (
	`id`	INTEGER PRIMARY KEY AUTOINCREMENT,
	`name`	INTEGER,
	`author`	INTEGER
);
--用户表
CREATE TABLE `t_user` (
	`id`	INTEGER PRIMARY KEY AUTOINCREMENT,
	`name`	INTEGER
);
--阅读记录表
CREATE TABLE `t_read` (
	`id`	INTEGER PRIMARY KEY AUTOINCREMENT,
	`user_id`	INTEGER,
	`book_id`	INTEGER,
	`page`	INTEGER,
	`addTime`	INTEGER DEFAULT (strftime('%s','now'))
);
INSERT INTO `t_book`(`name`,`author`) VALUES('书本001','作者001'),	('书本002','作者002'),	('书本003','作者003'),	('书本004','作者004'),	('书本005','作者005'),	('书本006','作者006'),	('书本007','作者007'),	('书本008','作者008'),	('书本009','作者009'),	('书本010','作者010'),	('书本011','作者011'),	('书本012','作者012'),	('书本013','作者013'),	('书本014','作者014'),	('书本015','作者015'),	('书本016','作者016'),	('书本017','作者017'),	('书本018','作者018'),	('书本019','作者019'),	('书本020','作者020'),	('书本021','作者021'),	('书本022','作者022'),	('书本023','作者023'),	('书本024','作者024'),	('书本025','作者025'),	('书本026','作者026'),	('书本027','作者027'),	('书本028','作者028'),	('书本029','作者029'),	('书本030','作者030'),	('书本031','作者031'),	('书本032','作者032'),	('书本033','作者033'),	('书本034','作者034'),	('书本035','作者035'),	('书本036','作者036'),	('书本037','作者037'),	('书本038','作者038'),	('书本039','作者039'),	('书本040','作者040'),	('书本041','作者041'),	('书本042','作者042'),	('书本043','作者043'),	('书本044','作者044'),	('书本045','作者045'
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值