gpt4 book ai didi

php 和 sql 命令使我的服务器崩溃

转载 作者:行者123 更新时间:2023-11-29 08:35:53 25 4
gpt4 key购买 nike

我正在尝试查询数据库中的所有产品,当我这样做时,服务器会崩溃,并且我无法获取信息

SELECT categories.category_id, 
categories.category_name,
categories.category_name_fr,
subcategories.subcategory_id,
subcategories.subcategory_name,
subcategories.subcategory_name_fr,
suppliers.supplier_id,
suppliers.supplier_name,
products.product_id,
products.product_name,
products.product_name_fr,
products.product_url
FROM categories,
subcategories,
suppliers,
products
WHERE products.product_active = 1
ORDER BY categories.category_id ASC

我尝试设置 LIMIT 0, 1 但它仍然崩溃...

最佳答案

首先,您应该明确指定连接和连接条件,因为现在您将获得所有表的笛卡尔积,这可能不是您想要的。

您应该在连接表中首先列出产品表,因为这是您的 WHERE 子句过滤生效的表。所以类似:

SELECT categories.category_id, categories.category_name, 
categories.category_name_fr, subcategories.subcategory_id,
subcategories.subcategory_name, subcategories.subcategory_name_fr,
suppliers.supplier_id, suppliers.supplier_name, products.product_id,
products.product_name, products.product_name_fr, products.product_url
FROM products
INNER JOIN categories ON products.[some field] = categories.[some field]
INNER JOIN subcategories ON categories.[some field] = subcategories.[some field]
INNER JOIN suppliers ON products.[some field] = suppliers.[some field]
WHERE products.product_active = 1
ORDER BY categories.category_id ASC

其次,您需要确保每个 products.product_activecategories.category_id 以及连接条件中使用的任何其他列都有索引。

第三,仅供引用,LIMIT 条件对此处的查询执行时间没有任何帮助,因为您仍然需要在决定限制查询之前执行联接、过滤和排序。结果集仅为项目的子集。唯一有帮助的地方是处理结果集(这显然会更快)。

关于php 和 sql 命令使我的服务器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235698/

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