mysql优化器预处理,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找到最佳索引.

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

标签:optimization,sql,c,mysql,preprocessor

来源: https://codeday.me/bug/20191119/2035691.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值