2011-05-11 31 views
2

我正在使用php和MySql的组合。我的情况是我使用两个查询(一个'选择'和'插入')的活动,有时3个查询。这将由不同的用户经常进行。SQL函数的单独查询?

我正在使用mysql_query函数分别执行查询。这是好还是使用执行所有查询的SQL函数更好?我想知道哪种性能更好。

回答

0

如果您使用的是mysqli扩展,你可以利用multi_query

http://php.net/manual/en/mysqli.multi-query.php

但是请注意,如果查询的一个依赖于另一个查询的成功,他们应该被分离出来进行错误检查。

+0

这是我的情况。第二个查询将仅基于第一个查询的结果执行。所以哪一个更好地分别执行查询或者编写一个sql函数 – jeeva

+0

然后分别执行它们。您需要错误地检查第一个函数实际通过之后才能进行依赖它的调用。 –

+0

如果一个人依赖另一个人,你必须**分别执行他们,因为你必须检查程序层的反馈。 **编辑**尽管多查询功能可能存在“回滚出错”选项。 – Rudie

1

在我看来,创建一个能够很好地执行单个操作的函数是更好的做法。这使得这些功能更容易测试,并允许它们在将来的其他操作中使用。在你的情况下,我会创建一个stored procedure来执行例程。

0

如果你能展示具体的例子,这将有所帮助 - 现在,这都是非常假设的。但是:

如果您可以将这些操作合并为一个查询,那么这是最快的选择。例如:

insert into tableA 
select x, y, z 
from tableB 
where Foo = Bar 

如果您必须对select语句的结果进行一些处理,则可以创建一个存储过程来执行处理。这样可以避免将数据发送回PHP服务器,这应该会带来性能上的好处 - 但是,PHP可能比存储过程更好/更快地执行处理。例如,如果你不得不操作文本,我会用PHP来完成。