C#-MySQL预处理程序优化

在启动查询之前,有人知道MySQL是否涉及任何预处理程序优化吗?

考虑以下查询:

字符串查询=“在状态> = @minStatus AND状态< = @maxStatus AND类型> = @minType AND类型< = @maxType的情况下从赠品中选择SELECT Giveaway_id”; 如果@minStatus和@maxStatus以及@minType和@maxType相等,我们可以以更优化的形式编写上述查询: 字符串查询=“在状态= @minStatus AND类型= @minType的情况下,从SELECTaway中选择SELECT Giveaway_id”; 我想知道MySQL是否足够聪明,可以胜任其自身的工作,还是应该在它在C#应用程序中启动之前帮助它编写适当的优化语句. 谢谢.

解决方法:

这个评论太长了.

您所指的步骤不是“预处理”,而是“编译和优化”.而且,是的,MySQL确实做了各种优化,描述了here.

但是,您的问题的含义是,单个相等比较=将比两个不相等快得多.通常情况并非如此.更大的问题是状态和类型的索引是否可用.索引的使用将是性能的主要因素-多个不平等因素可能会阻止MySQL找到最佳索引.

我的建议是为您的查询创建正确的索引.然后编写查询以确保它们利用了索引.

上一篇:Android Studio Design界面不显示layout控件的解决方法


下一篇:python – 在冻结图上使用optimize_for_inference.py后使用Model时出错