【问题标题】:SQL optimized IO calls (comparing mutiple IOs or single IO with huge data)SQL 优化的 IO 调用(比较多个 IO 或单个 IO 与大数据)
【发布时间】:2016-02-06 16:01:17
【问题描述】:

我有一个 SQL 表 Student。每个学生都有 30 列(属性)。

我在一个 SQL 查询中需要 10 个属性。

哪种方法更好?

  1. q1 = 'SELECT * FROM STUDENTS where uid in %s'%tuple(list1);

  2. 对于 k 属性:

     `q1 = 'SELECT k FROM STUDENTS where uid in %s'%tuple(list1);`
    

主要比较数据量大的单I/O和数据量少的多I/O

我认为第一种方法更好,因为在单个 IO 中所有数据都将加载到内存中,然后在内存中迭代它会更快

【问题讨论】:

  • 如果你只需要30个字段中的10个,为什么选项1选择所有30个?
  • 在这种情况下,最准确的响应将是您在自己的环境中、在您的条件下自己尝试确定的任何内容。

标签: sql io query-optimization mysql-python sql-optimization


【解决方案1】:
select k1, k2, k3, k4, k5, k6, k7, k8, k9, k10 from STUDENTS where uid in %s'%tuple(list1);

【讨论】:

  • 我知道。但由于某些原因,我想比较问题中提到的选项。假设我有约束,因此我不能使用你的方法
  • 真的你可以做一个 * 但不是因为一个约束
猜你喜欢
  • 2014-01-02
  • 1970-01-01
  • 2021-01-30
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
相关资源
最近更新 更多