簡體   English   中英

SQL函數的單獨查詢?

[英]separate queries of SQL functions?

我正在使用php和MySql的組合。 我的情況是我對一個活動使用兩個查詢(一個“選擇”和“插入”),有時使用三個查詢。 這將由不同的用戶非常頻繁地完成。

我正在單獨使用mysql_query函數執行查詢。 使用SQL函數執行所有查詢是好事還是更好? 我想知道哪個在性能上更好。

在我看來,更好的做法是創建一個可以很好地執行單個操作的函數。 這使功能更易於測試,並允許將來在其他操作中使用它們。 在您的情況下,我將創建一個存儲過程來執行例程。

如果您使用的是mysqli擴展名,則可以使用multi_query

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

但是請注意,如果其中一個查詢依賴於另一個查詢的成功,則應將它們分開進行錯誤檢查。

如果您可以顯示具體的示例,這將有所幫助-現在,所有這些都是非常假設的。 然而:

如果您可以將操作合並為一個查詢,則這是最快的選擇。 例如:

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

如果必須對select語句的結果進行一些處理,則可以創建一個存儲過程來進行處理。 這避免了將數據發送回PHP服務器的往返行程,這應該會帶來性能上的好處-但是,很可能PHP是比存儲過程更好/更快的語言來執行處理。 例如,如果您必須操作文本,則可以在PHP中進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM