gpt4 book ai didi

zip 数组的 mySQL 查询优化

转载 作者:行者123 更新时间:2023-11-29 14:38:22 25 4
gpt4 key购买 nike

所有,我正在查找一个邮政编码,然后查找给定半径内的所有其他邮政编码。我正在尝试对数据库进行一次调用,那么我应该使用哪种查询?我正在考虑使用 OR 子句,但想知道是否有人对此有更好的查询优化想法?我想过做这样的事情,但任何建议将不胜感激。谢谢

$zipArray = $zipLoc->inradius($_SESSION['pav_event_zip_code'],50);
$total_zips = count($zipArray);
$sql = "Select * from vendor where vendor_zip='$zipArray[0]'";
for($i=1;$i<$total_zips;$i++){
$sql. = "OR vendor_zip='$zipArray[$i]'";
}

最佳答案

您可以使用 IN 语句,虽然它不会更快,但绝对更容易阅读:

$zipArray = $zipLoc->inradius($_SESSION['pav_event_zip_code'],50);
$zipArray[] = -1; // make sure the IN Statement does not fail
$sql = 'SELECT * FROM vendor WHERE vendor_zip IN ('.implode(',',$zipArray).')';

确保您已对供应商_zip 列建立索引

关于zip 数组的 mySQL 查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8507752/

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