我有一个包含大约 200,000 条记录的表。 做一个简单的选择查询需要很长时间。我很困惑,因为我在 4 核 cpu 和 4GB 内存下运行。 我应该如何写我的查询? 或者与 INDEXING 有什么关系?
重要说明:我的表是静态的(它的数据不会改变)。
你的解决方案是什么?
附言
1 - 我的表有一个主键 id
2 - 我的表有一个唯一的键 serial
3 - 我想查询其他字段,例如 where param_12 not like '%I.S%'
或 其中 param_13 = '1'
4 - 200,000 并不大,这正是我感到惊讶的原因。
5 - 我什至在添加一个简单字段时遇到问题:my question
6 - 我可以为 BOOL 字段创建索引吗? (或者有用吗)
PS 并感谢您的回答
7 - 我的选择应该返回已指定“I.S”或未指定“I.S”的字段。
select * from `table` where `param_12` like '%I.S%'
这就是我想要的。似乎没有索引在这里有帮助。火腿?
最佳答案
索引会有所帮助。请发布表定义并选择查询。
为 where 子句中的所有“=”列添加索引。
关于MySQL:一个巨大的表。无法查询,哪怕是简单的select!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2386698/