【发布时间】:2010-03-05 12:38:17
【问题描述】:
我有一个包含大约 200,000 条记录的表。 做一个简单的选择查询需要很长时间。我很困惑,因为我在 4 核 cpu 和 4GB 内存下运行。 我应该如何写我的查询? 或者与索引有什么关系?
重要提示:我的表格是静态的(它的数据不会改变)。
你的解决方案是什么?
附言
1 - 我的表有一个主键 id
2 - 我的表有一个唯一键 serial
3 - 我想查询 where param_12 not like '%I.S%' 等其他字段
或where param_13 = '1'
4 - 200,000 并不大,这正是我感到惊讶的原因。
5 - 添加简单字段时我什至遇到问题:my question
6 - 我可以为 BOOL 字段创建索引吗? (或者有用吗)
PS并感谢您的回答
7 - 我的选择应该返回已指定“I.S”或未指定的字段。
select * from `table` where `param_12` like '%I.S%'
这就是我想要的。似乎没有索引在这里有帮助。火腿肠?
【问题讨论】:
-
了解有关表大小、正在运行的选择查询类型、存储的数据类型、架构等的更多信息会有所帮助。另外,您对“很长一段时间”的定义是什么?秒?分钟?
-
Dav 所说的,是的,它可能与索引有关。
标签: mysql performance select