如何添加索引来优化 SQLite 查询?
How to add index to optimise SQLite query?
我正在为我的 Python 应用程序使用 Sqlite 数据库。
在该数据库中有一个巨大的 table(大约 500 万条记录)并且一些查询速度太慢。
这里是 table:
CREATE TABLE mytable(
ID integer PRIMARY KEY,
Code text,
Value1 float,
Value2 float,
Date text);
和一个慢查询的例子:
SELECT MIN(ID) FROM mytable WHERE Date >= datetime('2022-05-25');
如何优化 table 以更快地执行上一个查询?由于日期列与ID列的顺序相同,我可以在日期列上添加索引吗?
您绝对可以向日期时间列添加索引。根据您的查询,它肯定会有所帮助。
所以最后,你会看到这样的东西:
Create Index myIndex On myTable(Date);
您可以在此处找到有关 Sqlite 索引的更多信息:https://www.tutorialspoint.com/sqlite/sqlite_indexes.htm
我正在为我的 Python 应用程序使用 Sqlite 数据库。
在该数据库中有一个巨大的 table(大约 500 万条记录)并且一些查询速度太慢。
这里是 table:
CREATE TABLE mytable(
ID integer PRIMARY KEY,
Code text,
Value1 float,
Value2 float,
Date text);
和一个慢查询的例子:
SELECT MIN(ID) FROM mytable WHERE Date >= datetime('2022-05-25');
如何优化 table 以更快地执行上一个查询?由于日期列与ID列的顺序相同,我可以在日期列上添加索引吗?
您绝对可以向日期时间列添加索引。根据您的查询,它肯定会有所帮助。
所以最后,你会看到这样的东西:
Create Index myIndex On myTable(Date);
您可以在此处找到有关 Sqlite 索引的更多信息:https://www.tutorialspoint.com/sqlite/sqlite_indexes.htm