Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6388633
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T03:18:13+00:00 2026-05-25T03:18:13+00:00

I am planning a website (Drupal/MySQL), which must search a fairly large database based

  • 0

I am planning a website (Drupal/MySQL), which must search a fairly large database based on distance from a location (we’re starting with ~20,000 locations). So far, the best solution I’ve found to searching in a reasonable manner is to use a user-defined function in SQL to calculate the distance between to coordinates, e.g.:

SELECT *, CoordinateDistanceMiles(lat, lon, ${inputLat}, ${inputLon}) as distance
FROM items WHERE distance < {$radius}

(Using John Dyer’s distance function or similar)

However, I’ve also read that UDFs are very inefficient. My second idea (and tentative plan) is to nest another query inside this one to narrow its’ scope and therefore run the UDF on a much smaller subset of items, e.g.:

SELECT *, CoordinateDistanceMiles(lat, lon, ${inputLat}, ${inputLon}) as distance
FROM (
    SELECT * FROM items WHERE
        lat BETWEEN ${inputLat - const} AND ${inputLat + const} AND
        lon BETWEEN ${inputLon - const} AND ${inputLon + const}
) WHERE distance < ${radius}

Would this model make the search faster, or just more convoluted? Are there any better solutions?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T03:18:13+00:00Added an answer on May 25, 2026 at 3:18 am

    The overhead of using UDF here is negligible, as long as you perform scan over distance < ${radius} and have 2 range-based comparisons (they cannot be optimized with indexes).

    So don’t worry about UDF “inefficiency” and use it, since it is much more readable.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've built a PHP based website with MySQL as the back-end, and am planning
We are planning to move our website to https, which currently running on only
I'm asking your opinions about my next project.. I'm planning to make website which
I am planning to write an internal large video sharing website. Is there a
I have a membership based website and im planning on implementing a referral system.
I am working on a project to migrate a website from asp.net to drupal
i am planning to build a very simple mobile website which involves form submission
I'm planning to create a module for my directory which would fetch images from
We are currently planning a website on which people can upload movies. When looking
I am planning to design a website which displays the live scores of matches(NBA,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.