gpt4 book ai didi

php - 通过 Mysql Query 进行文本处理

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:44 24 4
gpt4 key购买 nike

我有很多 URL 必须保存在数据库中以供搜索和更新,哪种解决方案对性能更好:

1-将 url 作为字符串存储在包含一列的表中,稍后从数据库中获取字符串并将它们分解为数组并使用 array_search 函数查找 URL:

存储的网址:http://site1.com|http://site2.com|....

搜索例程:

$is_unique= array_search("$url" ,explode($row['url'] , "|"));

2-在数据库表中为每个 URL 插入一行,并使用查询进行搜索和更新。

最佳答案

让 MySQL 处理搜索。 MySQL 可以使用索引,array_search 不能。请务必在您的 url 列上声明一个索引。您可以使用以下 SQL 语句创建索引:

CREATE INDEX url_index ON your_table_name (url);

如果您批量更新您的 url,您可以将您的更新包装在一个事务中,这样会更快,因为索引将在提交时重新生成,而不是在每个更新语句中重新生成。

START TRANSACTION;
[...your update statements go here...]
COMMIT;

编辑:关于安全性,因为我在您的一条评论中看到了它。如果参数是用户提供的,您希望使用 mysql_real_escape_string() 转义您的输入:

mysql_query("SELECT * FROM table WHERE url = ('".mysql_real_escape_string($your_url)."'");

有关安全的详细信息,请阅读the PHP manual about mysql_real_escape_string()和/或 google about SQL injection

关于php - 通过 Mysql Query 进行文本处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com