mysql查询 表1的字段1,是不是包含某文字,如"美国",如果说我想把"美国"改为"中国"又怎么写
发布网友
发布时间:2022-10-14 01:08
我来回答
共5个回答
热心网友
时间:2023-11-19 17:38
查询慢,可以通过加索引来改善,先看看表中字段1是否为索引项,如果没有,对字段1建立索引。
如果是要将字段1中包含“美国”的值都改成中国。可以使用如下语句:
update table set 字段1 = replace(字段1, '美国', '中国') where 字段1 like '%美国%',
热心网友
时间:2023-11-19 17:38
数据量有多少?
你尝试以下操作
1:把select * 的星号改成字段,写上需要查出的字段。
2:执行show create table 表1,看看engine是什么,如果是myisam,就调整key_buffer的值,如果是innodb,就调整innodb_buffer_pool_size的值,然后重启mysql
3:做分区表,对字段1做哈希分区,效果会很明显
4:明确你的需求,是要查以美国开头的内容还是包含美国的内容,前者的话可以加索引,并把like 后的改成 '美国%',去掉前面的%,这样可以用上索引,如果是后者,加不加索引效果一样,都走全表扫描
5:做分库分表;
----------------------------------
不明白可以追问追问字段1是文章内容的字段,要查包含美国的内容
如何把"美国"改为"中国"?
追答你指的是把内容中的美国改成中国??
热心网友
时间:2023-11-19 17:39
1、like的左边匹配,即使你在这个字段有索引,也不会走索引的,因此要把左边的%匹配符去掉
2、去掉之后,可以在该字段上建立索引,当然,如果是text和blob等数据类型的,也不建议建立索引
3、对于事务操作比较多的表,存储引擎可以使用innodb的,对于查询类的表,可以使用myisam引擎
热心网友
时间:2023-11-19 17:39
like对索引影响:
1.字段1 like '%aaa%' 这种方式不会使用任何索引
2.字段1 like '%aaa' 这种方式不会使用任何索引
3.字段1 like 'aaa%' 这种方式会使用索引
热心网友
时间:2023-11-19 17:40
你的表数据量非常大吗? mysql处理大数据量不是很好