【问题标题】:SQL query, necessery indexes, optimizationSQL查询,必要的索引,优化
【发布时间】:2018-02-13 18:20:11
【问题描述】:
select * 
from ws 
where ws.id >= X and ws.id <= Y and w.ses = Z

Y - X

我没有关于此表中记录数的任何信息。

表在“id”上有索引,但在“ses”上没有索引。

您对此有何看法? 'ses' 上的索引是否必要?

【问题讨论】:

  • 这适用于哪个 RDBMS?请添加标签以指定您使用的是mysqlpostgresqlsql-serveroracle 还是db2 - 或完全其他的东西。

标签: mysql sql indexing query-optimization


【解决方案1】:

对于这个查询:

select * 
from ws 
where ws.id >= X and ws.id <= Y and w.ses = Z

最佳索引位于ws(ses, id)。复合索引中列的顺序很重要。

【讨论】:

  • 谢谢。有趣的。为什么顺序很重要?为什么 id 应该是第二个?当索引仅在 id 上时,您如何看待性能?
  • 不是id应该排第二;这是ses 需要first,因为它是用= 测试的。食谱:mysql.rjweb.org/doc.php/index_cookbook_mysql
猜你喜欢
  • 2018-07-27
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
  • 2018-01-05
  • 2019-08-27
  • 2012-08-12
相关资源
最近更新 更多