python - 查询MYSQL表最有效的方法

标签 python mysql

所以我有一个表,它将来将包含数千行。

这些行包含我需要返回的日期和其他数据。

我将有一个日期数组,我需要用它来查询原始表以返回适当的数据。

目前我有一个设置,以便将整个原始表复制到一个数组中,然后对于每个日期,我使用 for 循环来复制所有数据。

for un in range(0,listc)
    for i in range(0,bigtablec)
        if list[un] == bigtable[i][1]
            a[un] = bigtable[i][2]

以上是其当前工作原理的示例。

我的问题是在bigtable上使用多个SELECT查询是否会比上面的方法更快。

因此,对于每个“for un in range(0,listc)”,它将查询列表数组中相应日期的表。然后从返回的单个行中获取数据。

如果这是一个显而易见的问题,我深表歉意。

最佳答案

这不是一个好的解决方案。

您应该尝试在一次网络往返中将所有数据带回,而不是在列表中为每个日期保留一个数据。

你没有说这在内存中代表了多少数据。您需要小心“将整个表复制到数组中”。

查询的效率是 EXPLAIN PLAN、表上的索引以及需要多少次网络往返才能将其带回的组合。

关于python - 查询MYSQL表最有效的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18196691/

相关文章:

python - Pandas df.to_excel 用于多个 dfs?

java - 我的 servlet 抛出异常 ResourceClosed

mysql - 插入带有参数的存储过程MYSQL不起作用

php - 查询表行与匹配的数字?

python - TCP 和 UNIX 套接字之间有区别吗?

Python引用模型

python - 设置最大线程以保持主线程的更好解决方案?

python - 为 Pandas DataFrame 图设置 xlim

mysql - 如何在编译 VB.NET 应用程序时包含 MySQL 数据库

mysql - 查询以选择日期 1 和日期 2 之间的时间戳