php - 如何将部分字符串与mysql中的大型数据库进行比较

标签 php mysql sql database

  1. 我有一个 mysql 表,其中有一列域名(大约 10 万行)

示例:

ID    Domain_Name
 1    AnotherOlataxi.xom
 2    goodlolita.com
  1. 我还有几个表格,其中包含许多不同语言的单词,例如英语单词、法语单词等。

例子:

ID    Language   Word 
1     en         good
2     en         taxi
3     fr         ola

我想将每个域与语言表进行比较并查找单词和语言。

例子: 我应该得到一个单词和语言的列表。 如果我运行域 anotherolataxi.com ,它应该像这样返回

Array(
 'another'=>'en',
 'ola'   => 'fr',
 'taxi' =>'en'
)

我怎样才能得到这个结果以及如何在不影响性能的情况下比较这些大表?

最佳答案

您可以使用like 来做到这一点。它不会有效率,但它确实可以做你想做的事:

select d.*, w.*
from domains d join
     words w
     on d.domain_name like concat('%', w.word, '%');

对于单个域,性能应该不会太差。您可以添加一个 where 子句:

where d.id = 1

例如。

关于php - 如何将部分字符串与mysql中的大型数据库进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868409/

相关文章:

javascript - 尝试将值从 Jquery 传递到 PHP 时未定义索引名称

python - 在 python 脚本中正确设置编码

mysql - SpringBoot + Maven 连接并创建数据库架构

php - 使用两个外键将两个表连接在一起

c# - 更新 SQL 命令 C#

php - 简单搜索来搜索数据库表并在同一页面上显示结果(php/mysql)

javascript - 默认情况下无法将整个 div 内容设置为只读,并且在单击编辑按钮时无法启用编辑

java - 如何使用 PHP 执行 java -jar 文件,并将 .jar 创建的文件加载到服务器?

MySQL Rails 迁移错误 : "Error on rename of schema_migration (errno: -1)"

python - 如何在 Django ORM 查询中进行日期数学运算?