我在PHP中有几个代码来完成MySQL可以做的工作。把工作交给MySQL还是PHP?
如排序,从不同的MySQL表合并每一个数据,等等
最近,我发现我可以做所有这些东西与一个MySQL查询。
我想知道是否将MySQL能够工作的工作交给MySQL或PHP。 效率,速度等。
谢谢你,如果你让MySQL的处理这项工作
我在PHP中有几个代码来完成MySQL可以做的工作。把工作交给MySQL还是PHP?
如排序,从不同的MySQL表合并每一个数据,等等
最近,我发现我可以做所有这些东西与一个MySQL查询。
我想知道是否将MySQL能够工作的工作交给MySQL或PHP。 效率,速度等。
谢谢你,如果你让MySQL的处理这项工作
如果您在PHP这样做,你只是重新实现是,MySQL已经具有的功能。它远离最优化的解决方案,因此速度更慢。
您应该明确地在SQL查询中执行此操作。
你的表现会增加。
在MySQL中做它。毫无疑问,这是更有效的。比如,PHP会使用更多的内存。
在MySQL中执行此操作会更好。首先,它优化了数据的排序算法,并可以利用创建的索引。此外,如果它正在合并和过滤,则最终将从数据库中传输更少的数据。
数据库经过优化,可在检索数据时执行这些功能。在数据库级别排序比在PHP上编写数十行代码更容易阅读
在MySQL中有可用的字符串函数来合并数据,同时从数据库中检索数据。
我绝对会建议MySQL。
黑毡帽Luniya
没问题:MySQL是为此而构建的。 要添加一些东西,也许你会对构建联合表查询(多个表查询)感兴趣。这是非常有用的,非常简单。例如:
$query = "SELECT DISTINCT post.title as title, post.id as id,
product.imageURL as imageURL, product.dueDate as dueDate
FROM post, product
WHERE post.status='saved'
AND post.productURL=product.linkURL
AND post.userEmail='$session[userEmail]'
AND NOT EXISTS(
SELECT publication.postId FROM publication
WHERE publication.postId=post.id
)
ORDER BY post.id";
这是我构建的一些代码的一个简单示例。 事情是它合并了2个不同的表格,其中post.productURL = product.linkURL的限制。它也使用否定,当你正在寻找的集合没有被任何条件定义,而是没有定义时,它是非常有用的。 您也可以通过在MySQL中构建视图来避免这种情况。
我是新手,所以我希望它有帮助。干杯。
我希望得到一个明确的答案。通常我只是使用PHP,因为我的PHP技能比我的SQL技能更强大,但如果它们确实快得多或效率更高,我可能会更多地使用内置的MySQL函数。 – ubiquibacon 2010-07-25 05:52:32