gpt4 book ai didi

mysql - 我应该费心清理这个查询,还是 MariaDB 为我处理这个问题?

转载 作者:行者123 更新时间:2023-11-29 10:32:21 26 4
gpt4 key购买 nike

我正在使用 php 生成一些 MySQL 查询。在某些情况下,出于安全预防措施,我的代码会为某些查询生成重复的查询代码。例如,假设我有一个表 UploadedImages,其中包含用户上传的图像。它通过引用连接到User 表。当普通用户想要查询该表时,如果他没有管理员权限,我会强制在查询中放入 WHERE 条件,这样只会检索属于他的图像。

由于这种强制包含,有时,我生成的查询会导致重复的 where 条件:

SELECT * FROM UploadedImages WHERE 
accounts_AccountId = '143' AND
DateUploaded > '2017-10-11 21:42:32' AND
accounts_AccountId = '143'

我应该在运行之前清理这个查询吗?还是 MariaDB 帮我清理它? (即,此查询运行速度是否会变慢,或者如果我不事先通过删除相同的重复条件进行清理,它是否可能会导致错误结果?)

最佳答案

如果您的问题是“我应该清理它吗?”,是的,您应该清理产生此问题的代码,因为它可以多次包含相同的子句这一事实表明数据库层没有抽象为特别现代的等级。数据库层应该能够重写以使用不同的数据库提供程序,而无需更改依赖于它的代码。看来事实并非如此。

如果您的问题是“两次添加相同的限制是否会减慢查询速度?”那么答案是否定的,并不显着。

关于mysql - 我应该费心清理这个查询,还是 MariaDB 为我处理这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47162801/

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