gpt4 book ai didi

java - 如何优化缓慢的 Mysql SELECT 查询?

转载 作者:行者123 更新时间:2023-11-29 01:02:49 24 4
gpt4 key购买 nike

这是我的查询:

SELECT col1, col2, col3, col4, col5, col6,col7, col8,..,col18
FROM table1
WHERE col1= 'val' and col7='Y' and col16='203' OR col16='201' order by col4 desc

我不知道是什么让这个查询变慢了,无论是 order by 还是 where 子句...

也正确添加了索引,但仍然很慢。

我正在使用 JSP + STRUTS + EJB2.0 + MYSQL。table1 有超过 50 万条记录。如何优化查询或提高执行速度的其他可能性是什么?

表结构

col1                varchar(20) NO  PRI 
col2 varchar(50) NO PRI
col3 varchar(50) YES [NULL]
col4 varchar(20) YES [NULL]
col5 varchar(6) YES [NULL]
col6 varchar(20) YES [NULL]
col7 varchar(1) YES [NULL]
col8 mediumtext YES [NULL]
col9 mediumtext YES [NULL]
col10 mediumtext YES [NULL]
col11 mediumtext YES [NULL]
col12 mediumtext YES [NULL]
col13 mediumtext YES [NULL]
col14 mediumtext YES [NULL]
col15 mediumtext YES [NULL]
col16 varchar(20) YES [NULL]
col17 varchar(50) YES [NULL]
col18 varchar(5) YES [NULL]
col19 varchar(5) YES [NULL]
col20 varchar(5) YES [NULL]
col21 text YES [NULL]
col 22 text YES [NULL]
col23 text YES [NULL]
col24 varchar(5) YES [NULL]
col25 int(11) YES [NULL]

最佳答案

I don't know what it is making this query slow, whether order by, or conditions..

如果它们是通常的姓名、电话号码、电子邮件之类的东西(而不是文档),那么 50 万条记录应该可以放入内存中。因此,如果它 - 非常 - 慢,那就有问题了。

properly added index also,still slow.

哪些列被索引了?您需要按最有效过滤的列进行索引。例如,如果 col2 是对"is"或“否”问题的回答,则按它编制索引将无济于事。

关于java - 如何优化缓慢的 Mysql SELECT 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com