一般來說,使用php內置函數和查詢語句之間,哪個方法更快?strpos或pregmatch所有在PHP vs MariaDB LIKE或IN查詢,這是快?
-1
A
回答
1
DB喜歡或對strpos或的preg_match
你可能在你的數據庫table
多行。如果您全部加載它們,然後使用strpos
或preg_match
進行應用程序級別的篩選,那將意味着所有記錄都將從數據庫table
加載到內存中,爲您的PHP代碼提供服務,並將這些代碼存儲在內存中。如果數據庫服務器與應用程序服務器不同,則所有數據都必須通過網絡或Internet路由發送。這些內存操作和數據傳輸會降低你的操作速度,因此,儘可能在數據庫端進行過濾,因爲即使由於某種原因db也是如此。操作比PHP函數稍慢,大內存操作和數據傳輸太多了。
像主場迎戰
當你正在做一個像您可以使用%
通配符。如果你需要,那麼in
將不會是一個選項。否則,當您使用的是這樣的:
where myfield in ('a', 'b', 'c')
,或者你使用這樣的:
where myfield like 'a' or myfield like 'b' or myfield like 'c'
,或者你使用這樣的:
where myfield = 'a' or myfield = 'b' or myfield = 'c'
第一和第三個選項是相同的,但是您需要在第一種情況下輸入較少的內容,並且您可以更輕鬆地生成查詢。第二個應該更慢,因爲必須檢查通配符和東西。
strpos對比的preg_match
strpos
發現在乾草堆裏sequenctially針的第一次出現,而基於圖案preg_match
搜索。後者較慢,因爲它必須檢查正則表達式運算符,但它有更多的可能性,您可以搜索一個模式而不是給定的針串。
相關問題
- 1. 這是快速的過程strpos()/ stripos()或preg_match()在php
- 2. 使用$ in vs $或MongoDB查詢優化的方式使用$ in或$
- 3. SQL和PHP - 是否有與此查詢或代碼在這裏
- 4. ASP InStr vs PHP strpos
- 5. 使用LIKE或IN解決查詢匹配的MySQL
- 6. PHP性能strpos文件名或MySQL查詢
- 7. 使查詢更快。 Php Sql in Wordpress
- 8. SOQL:使用LIKE&IN執行查詢
- 9. lucene查詢大小 - 這是否規模?查詢'1或2或3 ..或N'
- 10. MySQL查詢:這是更快的查詢
- 11. Mongodb sharded cluster $ in VS $或
- 12. 如何SUBSTR或strpos這個角色
- 13. elasticsearch查詢LIKE多個術語或
- 14. 導軌或查詢與JOIN和LIKE
- 15. 多個LIKE,或MySQL查詢匹配
- 16. PHP pregmatch所有元素陣列
- 17. 選擇LIKE值IN子查詢
- 18. 這是更快:用於或的foreach
- 19. 所有VS和任何VS或
- 20. MySQLi查詢vs PHP Array,哪個更快?
- 21. IN VS EXIST子查詢
- 22. Propel結合IN和LIKE查詢
- 23. SQL:BETWEEN和IN(這是更快)
- 24. CAM +查詢與IN + AND或其他
- 25. nHibernate標準查詢OR或IN?
- 26. sql查詢:使用哪裏in或foreach?
- 27. 查詢多個LIKE和NOT IN情況
- 28. 查詢多個或vs聯合多個查詢,哪一個會更快?
- 29. 更快在MYSQL中查詢或使用PHP邏輯
- 30. 這個PHP和/或MySQL查詢有什麼問題?
@TimBiegeleisen使用strpos或preg_match_all在數組或對象中查找某個字符串(可能需要遞歸函數或循環)VS只使用LIKE或IN到Mysql表中。 – Chyaamoo
你能舉一個更具體的例子嗎? –