gpt4 book ai didi

sqlite - 加快某些 SQLite 数据的加载时间

转载 作者:行者123 更新时间:2023-12-03 18:16:56 25 4
gpt4 key购买 nike

我有一个非常简单的 sqlite 表:

CREATE TABLE config (id INTEGER primary key, 
token VARCHAR(255),
value TEXT,
date DATETIME)

有时当网页抓取信息时,它会不停地旋转,但并非一直如此。其他静态页面在此服务器上快速加载。

我一直在研究索引数据。这是加快查询速度的最佳方法还是我应该做一些不同的事情?这可能是服务器问题吗?如果是这样,我该如何解决?

编辑:

我得到这样的数据:
SELECT value 
FROM config
WHERE token='%s'
ORDER BY id DESC
LIMIT 1

页面有时加载得快,有时加载得慢。有时,只有一半的表格填满,然后它只是旋转直到刷新。

谢谢!

最佳答案

table 有多大?你每秒处理多少个请求?

您可能希望创建一个索引,以便通过标记快速查找。现在,它必须扫描整个表以找到其标记与您的参数匹配的第一行。

 CREATE INDEX IX_config_token ON config (token)

通常,查询表的每一种不同方式都可能受益于仅针对该查询的索引,因此在实践中,您通常最终会为每个表创建多个索引。

例如,如果我有 People带有 City 的表和 FirstName列等,我想满足这三个查询案例:
  • 选择所有住在 X 市的人
  • 选择所有姓名为 Y
  • 的人
  • 选择所有居住在 X 市且名字为 Y 的人

  • 然后我需要三个单独的索引:
    CREATE INDEX IX_People_City ON People (City)
    CREATE INDEX IX_People_FirstName ON People (FirstName)
    CREATE INDEX IX_People_City_FirstName ON People (City, FirstName)

    如果我没有第三个索引,那么查询案例 #3 将使用第一个索引来查找所有居住在 X 市的人,然后必须手动扫描该索引以找到居住在 X 市并拥有名字 Y 的人;它仍然比扫描整个表要好,但仍然不理想。

    关于sqlite - 加快某些 SQLite 数据的加载时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17353845/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com