gpt4 book ai didi

optimization - 如何优化 SQLite3 查询

转载 作者:IT王子 更新时间:2023-10-29 06:25:27 33 4
gpt4 key购买 nike

我正在通过一本书(“使用 SQLite”)和 Northwind 数据库学习 SQLite3。我编写了以下代码来按客户所在城市的客户数量对客户进行排序,然后按他们姓名的字母顺序排序。

SELECT ContactName, Phone, City as originalCity 
FROM Customers
ORDER BY (
SELECT count(*)
FROM Customers
WHERE city=originalCity)
DESC, ContactName ASC

运行大约需要 50-100 毫秒。是否有可遵循的标准程序来优化此查询,或更一般地说,优化其类型的查询?

最佳答案

在大多数情况下,查询优化从 reading the query optimizer's execution plan 开始.在 SQLite 中,你只需使用

EXPLAIN QUERY PLAN statement

在你的情况下,

EXPLAIN QUERY PLAN
SELECT ContactName, Phone, City as originalCity
FROM Customers
ORDER BY (
SELECT count(*)
FROM Customers
WHERE city=originalCity)
DESC, ContactName ASC

您可能还需要阅读

的输出
EXPLAIN statement

进入 more low-level detail .

关于optimization - 如何优化 SQLite3 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5911573/

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