mysql - 独特的查询优化

标签 mysql sql

我在 sql 查询中使用了“Distinct”子句,但遇到了性能下降问题。查询数据库花费的时间比预期要长。

我Google了一下,发现distinct子句可以对表格进行排序。

我的问题是是否有任何其他方法可以增强查询,可以通过修改查询以使输出应该相同,或者任何其他合适的方式。

我的查询很简单:

SELECT DISTINCT a,b,c,d,e FROM table_test WHERE a LIKE '12%' AND((b = 'ABC') OR (c = 'ABC'));

请注意,我也在 a、b、c 上创建了索引。

最佳答案

你试过这个吗?

SELECT a,b,c,d,e 
    FROM table_test 
    WHERE a LIKE '12%' AND b = 'ABC'
UNION 
SELECT a,b,c,d,e 
    FROM table_test 
    WHERE a LIKE '12%' AND c = 'ABC'

关于mysql - 独特的查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28961460/

相关文章:

mysql - 选择 WHERE IN 并按行数限制

从输入的特定日期减去当前日期的 mysql 事件但是我正在使用 4 个月的标准

mysql - 在 MYSQL WHERE 子句中使用来自不同表的两个值的总和

sql - 将临时表重命名为物理表

MySQL:使用另一个表中的值作为列别名?

sql - 如何组合这些查询?

java - 我正在使用 JNDI 连接到 mysql 数据库,但在执行时最终会抛出异常

mysql - MariaDB 10.1 中 DELETE 语法错误的未知原因

sql - 计算一列中不同条目之间的距离

php - 如何正确存储和使用不同时区的MySQL TIMESTAMP?