如果你的目标是测试一个字符串是否存在于MySQL列('varchar','text','blob'等类型)中,以下哪个更快/更有效/更好使用,为什么?
或者,是否有其他方法超过其中任何一个?
INSTR( columnname, 'mystring' ) > 0
Run Code Online (Sandbox Code Playgroud)
VS
columnname LIKE '%mystring%'
Run Code Online (Sandbox Code Playgroud) 我的公司有一个用PHP构建的网站.我们使用内置的PHP电子邮件功能每天向订阅者发送数千封电子邮件.
这是一个糟糕的主意.它扼杀了我们的服务器,并花费数小时来完成整批.
现在我已经看过像MailChimp这样的群发邮件服务(它将取代我们当前向许多人发送同一封电子邮件的系统),但我认为我真正想做的是建立一个有点复杂的通知系统.
每次重要事件发生时,我都不希望向每个人发送大量电子邮件,而是希望客户能够自定义收到的电子邮件的费率和内容.
即使使用这个新想法,我们也在讨论发送大量电子邮件.
所以我的问题非常具体:我对如何在内部构建系统有一个大概的想法,但发送所有这些电子邮件的最佳方式是什么?
要考虑的要点:
思考?提示?指出我正确的方向?
编辑
澄清:
我可以自己做这些:
并需要其他东西(应用程序,第三方服务,w/e):
我倾向于第三方服务,因为我不确定任何应用程序可以避免在发送数千封电子邮件时窒息服务器(虽然我不认为自己是电子邮件专家,所以我可能是错的).
我已经看过自己,但看起来我的谷歌今天并不强大.
我正在努力开发一种标准化协议,用于通过Apache/PHP服务器和微控制器上的嵌入式C代码之间的TCP/IP连接交换数据结构.
我们使用ASN.1表示法,我真正想做的是拥有一段可以解析ASN.1文档并用它来解释传入数据的PHP代码.它将生成一个基于ASN.1正确构造的PHP对象(或数组).这里的目标是PHP解析文档并创建与文档细节无关的对象(即不用手工编码以匹配文档内容).
或者,如果这是不可能的,那么是否存在能让我生成简单的PHP数据传输对象类的东西,每次ASN.1协议文档发生变化时我都可以重新运行它们?从效率的角度来看,这实际上可能更为可取,因为您不必为每个传入请求重新解释ASN.1.
谢谢!如果我能提供任何有助于回答这个问题的补充说明,请告诉我.