python - 这个 order_by django 查询的性能如何?

标签 python mysql django

MyModel.objects.all().order_by('-timestamp')

时间戳和另一列上有一个唯一键:

`code` varchar(3) NOT NULL,
`timestamp` date NOT NULL,
 UNIQUE KEY `exchangerate_currency_70883b95_uniq` (`code`,`timestamp`)

我只想获取表中的最新行。 该查询实现了这一点,但我正在考虑将来它将增长到 100K 行。 此查询和架构是否存在明显的性能问题?

最佳答案

如果没有看到您的完整查询和架构,除了推测之外别无他法。

但是...我相信 MySQL 中多列索引中的列顺序很重要。这意味着您在 (code,timestamp) 上的索引可能无法用于按时间戳排序。如果您将顺序更改为 (timestamp,code),它可能可用于 ORDER BY timestamp,但它可能会损害其他查询的性能。

如果您的使用需要为两者创建索引,您可能需要仅在时间戳列上创建第二个索引。

关于python - 这个 order_by django 查询的性能如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622153/

相关文章:

python - Python [de]压缩模块在Linux上是线程安全的吗?在Google App Engine上?

python - 问题在于变量定义。我不确定如何解决

mysql - null 与逻辑运算符一起使用

MySQL SELECT 车辆配件选择和过滤

python - django - 无法使用用户凭据登录

python | Http - 无法获取正确的 mime 类型

python : Making a negative image of a RGB picture

mysql - 将 ODBC Canonical 日期转换为二进制,或使用 ODBC Canonical 函数

python - process_request出错时django中间件的执行顺序是怎样的?

django - 提交具有自定义日期格式的表单时出现 ValidationError