[英]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.