一般来说,使用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
你能举一个更具体的例子吗? –