Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有更快的方法来编写这3个相同的查询?_Php_Mysql_Sql - Fatal编程技术网

Php 有没有更快的方法来编写这3个相同的查询?

Php 有没有更快的方法来编写这3个相同的查询?,php,mysql,sql,Php,Mysql,Sql,是否有任何更快的查询方法重写这些查询或将它们组合起来 update products set shop = '1' where shop LIKE '%demo%' update products set shop = '2' where shop LIKE '%car%' update products set shop = '3' where shop LIKE '%art%' 可能是一个存储过程:您所说的“更快”到底是什么意思?更少的代码?更快的查询?为什么这对您的应用程序至关

是否有任何更快的查询方法重写这些查询或将它们组合起来

update products
set shop = '1' 
where shop LIKE '%demo%'

update products
set shop = '2' 
where shop LIKE '%car%'

update products
set shop = '3' 
where shop LIKE '%art%'

可能是一个存储过程:

您所说的“更快”到底是什么意思?更少的代码?更快的查询?为什么这对您的应用程序至关重要?评论中还有一些问题。为什么这很重要?看起来,你只是想重构你的数据库模式,因为什么样的速度并不那么重要。请注意,这并不一定会使查询比单独的查询更快,尽管我不认为它们的速度慢得令人无法忍受。@Juhana:我同意你的看法,但如果,正如我所想,他只需要规范化他的表并运行一次查询,这不是一个大问题。是的,因为将来我将不得不更新很多
shop
,为每一个创建一个查询有点愚蠢。
update products
set shop =
case 
when shop like '%demo%' then 1
when shop like '%car%' then 2
when shop like '%art%' then 3
else shop
end