![]() |
1
3
索引将有所帮助。请发布表定义并选择查询。
|
![]() |
2
2
是的,您需要索引这个表,分区也会很有帮助。正确地做这件事需要你提供更多信息。您需要使用EXPLAIN PLAN并查看查询,以确定哪些列以及应该如何对它们进行索引。 另一个需要考虑的方面是表是否正常化。由于I/O降低,标准化表往往提供更好的性能。 我意识到这是模糊的,但没有更多具体的信息。 顺便说一句:20万行的表格相对较小。 Here 这是另一个你可能会觉得有用的问题 |
![]() |
3
1
1-我的表有一个主键id:除非使用需要数字主键的方案,否则没有真正的用处 2-我的表有一个唯一的密钥序列:id的定义也是唯一的;为什么不使用串行作为主要接口?这一个是自动索引的,因为您将其定义为唯一的。
3-我想查询其他字段,比如where param_12不喜欢“%i.S%”,或者where param_13='1':A
4-200000不是很大,这正是我感到惊讶的原因:是的,200000不是那么多。但如果没有好的索引,查询和/或缓存大小MySQL将需要从磁盘读取所有数据进行比较,这是很慢的。 5-我甚至在添加一个简单字段时遇到问题:我的问题 6-我可以为布尔字段创建索引吗?是的,你可以,但是一个索引匹配一半的时间是相当无用的,一个索引被用来限制MySQL必须尽可能多地完全加载的记录量;如果一个索引没有显著地限制这个数字,就像布尔型(50-50分布)的情况一样,那么使用索引只需要更多的磁盘IO,并且可能会降低搜索速度。因此,除非你期望发行量达到80-20或更好,否则创建一个索引将花费时间,而不是赢得时间。 |
![]() |
4
1
索引
|
![]() |
5
1
如果您使用
也许你可以研究全文索引,但根据你的需要,这可能并不合适。 |
![]() |
6
0
首先,确保您的表有一个主键。 要回答更详细的问题,您需要提供有关表结构和正在运行的查询类型的更多信息。 |
![]() |
7
0
我不相信你的钥匙会有用。必须对WHERE子句中使用的列进行索引。 我还想知道,这样做是否需要表扫描,而不考虑索引。在使用这样的函数的那一刻,你就失去了索引的值,因为你必须检查每一行。 你说得对:20万不是一张大桌子。解释一下这个计划会有帮助。如果你看到表格扫描,重新设计。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |